Espacios de nombres
Variantes

std::shared_ptr<T>::operator bool

De cppreference.com
 
 
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)
 
 
<tbody> </tbody>
explicit operator bool() const noexcept;

Verifica si *this almacena un puntero no nulo. Es decir, si get() != nullptr.

Parámetros

(Ninguno)

Valor de retorno

true si *this almacena un puntero, false de lo contrario.

Notas

Un shared_ptr vacío (donde use_count() == 0) puede almacenar un puntero no nulo accesible mediante get(), p. ej., si se creó utilizando el constructor de alias.

Ejemplo

#include <iostream>
#include <memory>

void imprimir(std::shared_ptr<int> ptr) 
{
    if (ptr) {
        std::cout << "*ptr=" << *ptr << "\n";
    } else {
        std::cout << "ptr no es un puntero válido.\n";
    }
}

int main()
{
    std::shared_ptr<int> ptr;
    imprimir(ptr);

    ptr = std::make_shared<int>(7);
    imprimir(ptr);
}

Salida:

ptr no es un puntero válido.
*ptr=7

Véase también

Devuelve el puntero almacenado.
(función miembro pública) [editar]