在c++ how to assert that all std::shared_ptr in a vector are referring to something中解释了使用assert来检查shared_ptr是否不为nullPtr的问题,但是我没有找到一种体面的方法来对某个weak_ptr进行相同的检查。我尽量避免将其转换为shared_ptr,所以请让我知道您的其他解决方案。
答案 0 :(得分:0)
如果要检查引用模型是否已删除或弱引用是否为空->使用std :: weak_ptr :: expired()。
参考文档:https://en.cppreference.com/w/cpp/memory/weak_ptr/expired