【发布时间】:2018-01-12 09:45:17
【问题描述】:
有没有办法区分已分配(可能已过期)的weak_ptr 和未分配的。
weak_ptr<int> w1;
weak_ptr<int> w2 = ...;
我了解以下针对未转让或到期的检查,但是否有(更便宜的?)仅针对未转让的检查?
if (!w.lock()) { /* either not assigned or expired */ }
【问题讨论】:
-
您可以使用
expired,但 AFAIK 无法区分。 -
可能模拟
std::optional的东西