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() const noexcept;
(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]