如何使用断言来检查weak_ptr是否为nullptr

时间:2019-07-16 11:36:35

标签: c++ assert smart-pointers weak-ptr

c++ how to assert that all std::shared_ptr in a vector are referring to something中解释了使用assert来检查shared_ptr是否不为nullPtr的问题,但是我没有找到一种体面的方法来对某个weak_ptr进行相同的检查。我尽量避免将其转换为shared_ptr,所以请让我知道您的其他解决方案。

1 个答案:

答案 0 :(得分:0)

如果要检查引用模型是否已删除或弱引用是否为空->使用std :: weak_ptr :: expired()。

参考文档:https://en.cppreference.com/w/cpp/memory/weak_ptr/expired