Espacios de nombres
Variantes
Acciones

std::shared_ptr<T>::unique

De cppreference.com
< cpp‎ | memory‎ | shared ptr
 
 
Biblioteca de servicios
 
Gestión de memoria dinámica
Punteros inteligentes
(C++11)
(C++11)
(C++11)
(hasta C++17)
(C++11)
(C++23)
Asignadores de memoria
Recursos de memoria
Almacenamiento no inicializado
Algoritmos de memoria no inicializada
Algoritmos restringidos de memoria no inicializada
Apoyo para recolección de basura
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
(C++11)(hasta C++23)
Misceláneos
(C++20)
(C++11)
(C++11)
 
 
bool unique()constnoexcept;
(en desuso en C++17)
(eliminado en C++20)

Comprueba si *this es la única instancia de shared_ptr que gestiona el objeto actual, es decir, si use_count()==1.

Contenido

[editar]Parámetros

(Ninguno)

[editar]Valor de retorno

true si *this es la única instancia de shared_ptr que gestiona el objeto actual, false de lo contrario.

[editar]Notas

Esta función quedó obsoleta en C++17 y se eliminó en C++20 porque use_count es solo una aproximación en un entorno multihilos (véase Notas en use_count).

[editar]Ejemplo

#include <memory> #include <iostream>    int main(){auto sp1 =std::make_shared<int>(5);std::cout<<std::boolalpha;std::cout<<"sp1.unique() == "<< sp1.unique()<<'\n';   std::shared_ptr<int> sp2 = sp1;std::cout<<"sp1.unique() == "<< sp1.unique()<<'\n';}

Salida:

sp1.unique() == true sp1.unique() == false

[editar]Véase también

devuelve el número de objetos shared_ptr que se refieren al mismo objeto gestionado.
(función miembro pública)[editar]
close