std::weak_ptr<T>:: expired
From cppreference.net
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::weak_ptr
| 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
;
|
(自 C++11 起) | |
等价于 use_count ( ) == 0 。被管理对象的析构函数可能尚未被调用,但该对象的析构已迫在眉睫(或可能已经发生)。
目录 |
参数
(无)
返回值
true 表示托管对象已被删除, false 表示未被删除。
注释
如果托管对象在线程间共享,仅当
expired()
返回true时才有意义。
示例
演示如何使用
expired
来检查指针的有效性。
运行此代码
#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(); }
输出:
gw is valid gw is expired
参见
创建管理被引用对象的
shared_ptr
(公开成员函数) |
|
返回管理该对象的
shared_ptr
对象数量
(公开成员函数) |