std::shared_ptr<T>::unique
De cppreference.com
<tbody>
</tbody>
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.
Parámetros
(Ninguno)
Valor de retorno
true si *this es la única instancia de shared_ptr que gestiona el objeto actual, false de lo contrario.
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).
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
Véase también
devuelve el número de objetos shared_ptr que se refieren al mismo objeto gestionado. (función miembro pública) |