Espacios de nombres
Variantes
Acciones

std::shared_ptr<T>::operator bool

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)
 
 
explicit operator bool() const noexcept;

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

Contenido

[editar] Parámetros

(Ninguno)

[editar] Valor de retorno

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

[editar] 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.

[editar] 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

[editar] Véase también

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