Van*_*ril 5 c++ memory-leaks stl
我已经使用STL很长一段时间了,但主要是为了它而实现算法,而不是其他代码中的偶然向量.
在我开始使用它之前,我想知道人们在使用STL时常犯的错误 - 特别是,在使用STL模板保护我的代码免受内存泄漏时,我应该注意哪些事项?
将原始指针存储到容器中的动态分配对象时,容器将无法管理其内存.
vector<FooBar*> vec;
vec.push_back(new FooBar); //your responsibility to free them
Run Code Online (Sandbox Code Playgroud)
为了使其更具内存泄漏能力,请使用智能指针容器或专用指针容器,如Boost:指针容器
特别是考虑到如果抛出异常,执行可能无法达到手动清理代码(除非做出痛苦的努力).
特别是,在使用STL模板来保护我的代码免受内存泄漏的影响时,我应该注意什么?
STL与否,答案是一样的:
| 归档时间: |
|
| 查看次数: |
391 次 |
| 最近记录: |