有没有办法找出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/

10-14 16:40