Espacios de nombres
Variantes

std::weak_ptr::expired

De cppreference.com
 
 
Biblioteca de servicios
Apoyo del lenguaje
Apoyo de tipos (tipos básicos, RTTI)
Macros de prueba de característica de la biblioteca (C++20)
Servicios de programa
Funciones variádicas
Apoyo de corrutinas (C++20)
Apoyo de contratos (C++26)
Comparación de tres vías (C++20)
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

 
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)
 
 
bool expired() const noexcept;
(desde C++11)

Equivalente a use_count() == 0. Es posible que aún no se haya llamado al destructor del objeto gestionado, pero la destrucción de este objeto es inminente (o puede que ya haya ocurrido).

Parámetros

(Ninguno)

Valor de retorno

true si el objeto gestionado ya se eliminó, false de lo contrario.

Notas

Esta función es intrínsecamente susceptible a carreras de datos si el objeto gestionado se comparte entre subprocesos. En particular, un resultado falso puede volverse obsoleto antes de que pueda usarse. Un resultado true es confiable.

Ejemplo

Demuestra cómo se utiliza expired para comprobar la validez del puntero.

#include <iostream>
#include <memory>

std::weak_ptr<int> gw;

void f()
{
    if (!gw.expired()) {
	std::cout << "gw es válido\n";
    }
    else {
        std::cout << "gw ya expiró\n";
    }
}
 
int main()
{
    {
        auto sp = std::make_shared<int>(42);
	gw = sp;

	f();
    }

    f();
}

Salida:

gw es válido
gw ya expiró


Véase también

Crea un shared_ptr que gestiona el objeto referenciado.
(función miembro pública) [editar]
Devuelve el número de objetos shared_ptr que gestionan el objeto.
(función miembro pública) [editar]
Morty Proxy This is a proxified and sanitized view of the page, visit original site.