有没有办法找出shared_ptr所引用的weak_ptrs的数量?
unique()/ use_count()可用于查找shared_ptrs,但是否有类似的构造用于查找引用的weak_ptrs。
我只想在没有weak_ptrs引用的情况下才释放shared_ptr拥有的资源。因此,在将来的某个时候,如果我尝试从该weak_ptr创建一个shared_ptr,那么我不应该以nullptr结尾。
目前在C++ 11中可以吗?
最佳答案
没有。
没有执行此操作的界面,因为它会遗漏整个要点。
如果没有std::shared_ptr
引用该资源,则将其释放。
通过使用std::weak_ptr
,您明确允许释放资源。如果那不是您想要的,请不要使用它。
关于c++ - 查找指向shared_ptr的weak_ptrs,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27633176/