std::shared_ptr<T>::unique
De cppreference.com
< cpp | memory | shared ptr
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
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) |