std::weak_ptr<T>:: expired
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Modifiers | ||||
| Observers | ||||
|
weak_ptr::expired
|
||||
|
(C++26)
|
||||
|
(C++26)
|
||||
| Non-member functions | ||||
| Helper classes | ||||
|
(C++20)
|
||||
| Deduction guides (C++17) |
|
bool
expired
(
)
const
noexcept
;
|
(depuis C++11) | |
Équivalent à use_count ( ) == 0 . Le destructeur de l'objet géré peut ne pas encore avoir été appelé, mais la destruction de cet objet est imminente (ou peut avoir déjà eu lieu).
Table des matières |
Paramètres
(aucun)
Valeur de retour
true si l'objet géré a déjà été supprimé, false sinon.
Notes
Si l'objet géré est partagé entre plusieurs threads, il n'est significatif que lorsque
expired()
renvoie true.
Exemple
Montre comment
expired
est utilisé pour vérifier la validité du pointeur.
#include <iostream> #include <memory> std::weak_ptr<int> gw; void f() { if (!gw.expired()) std::cout << "gw is valid\n"; else std::cout << "gw is expired\n"; } int main() { { auto sp = std::make_shared<int>(42); gw = sp; f(); } f(); }
Sortie :
gw is valid gw is expired
Voir aussi
crée un
shared_ptr
qui gère l'objet référencé
(fonction membre publique) |
|
retourne le nombre d'objets
shared_ptr
qui gèrent l'objet
(fonction membre publique) |