为什么这个time_zone_ptr示例不包含内存泄漏?
Why doesn't this time_zone_ptr example contain a memory leak?
我在这里阅读了boost DateTime库,其中包含许多示例,例如:
time_zone_ptr zone(new posix_time_zone("MST-07"));
我很好奇为什么使用关键字"new"不会导致内存泄漏?我研究了boost源代码,注意到它有两个不同版本的构造函数,一个使用shared_ptr,另一个使用weak_ptr。有人能解释一下这些是如何工作的,以及为什么上面的行可以安全地写吗?
time_zone_ptr
只是boost::shared_ptr<time_zone>
的别名。这是一个智能指针,从构造对象的原始指针中获取动态分配对象的所有权。
相关文章:
- 包含矢量指针的结构的内存释放问题
- 释放包含多个向量的结构的内存
- 在C++中,为什么仅包含与其基类实例的联合的派生类占用的内存多于联合的大小?
- 包含动态分配内存作为值的映射的取消定位速度有多快?
- Visual C 运行时:Malloc将指针返回到已经使用的内存(包含实际字符串)
- Visual Studio 的内存窗口仅包含问号
- 为什么 C++/Java 内存模型不包含条件变量
- 如何复制或返回包含动态分配的内存的对象
- [C ] NULL确实在内存中也包含一个特定的地址
- 我如何解析包含65k行的代码的文件,导致[BCC32致命错误] F1008出于内存错误
- C 发布的矢量包含自定义类的内存
- 我可以在CUDA设备上为包含浮点数数组的对象分配内存吗
- 当动态创建一个包含另一个动态创建的结构数组的结构数组时,内存管理
- 对于数据成员,如果包含对象已在动态内存中,则动态分配此变量(或不动态分配)之间是否有任何区别
- 释放包含STL类的链接列表结构的内存
- C++内存模型——这个例子包含数据竞赛吗
- 分配包含stl向量的结构时内存泄漏
- MS Stl库是否包含内存泄漏
- 为什么这个time_zone_ptr示例不包含内存泄漏?
- 这是否包含内存泄漏