std::shared_ptr<T>::unique
De cppreference.com
< cpp | memory | shared ptr
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
Ejecuta este código
#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) |