huy*_*yen 0 c++ smart-pointers reset shared-ptr stdvector
我最近改变了我的原始指针,std::shared_ptr在这样的容器中使用:
std::vector<std::shared_ptr<AbstractPathContainer>> mGeneratedPaths;
Run Code Online (Sandbox Code Playgroud)
当我打电话clear()给这个容器时,它会reset()在每个容器上调用方法std::shared_ptr吗?
没有; 它会在每个指针上调用析构函数(可能会调用也可能不会调用reset()).
如果你的问题真的"如果合适,我的记忆会被释放吗?" 然后答案是肯定的; 将根据每个共享ptr对象的需要调整引用计数,如果它为0,则将删除该对象.
| 归档时间: |
|
| 查看次数: |
266 次 |
| 最近记录: |