1、不要手动管理内存,可以尝试在适用的情况下使用智能指针。
2、使用std::string而不是char*。std::string类在内部处理所有内存管理,而且它速度快且优化得很好。
3、除非要与旧的lib接口,否则不要使用原始指针。
4、在C++中避免内存泄漏的最好方法是尽可能少地在程序级别上进行新的/删除调用――最好是没有。任何需要动态内存的东西都应该隐藏在一个raii对象中,当它超出范围时释放内存。raai在构造函数中分配内存并在析构函数中释放内存,这样当变量离开当前范围时,内存就可以被释放。
5、使用了内存分配的函数,要记得使用其想用的函数释放掉内存。可以始终在new和delete之间编写代码,通过new关键字分配内存,通过delete关键字取消分配内存。
6、培养良好的编码习惯,在涉及内存的程序段中,检?y内存是否发生泄露。
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
说明:该例中没有内存浪费,因为当我们从函数中出来时,我们使用delete函数重新分配内存。
以上就是C++中如何避免内存泄漏?的详细内容!
相关阅读 >>
(C++)错误的map删除操作和stl中容器的迭代器的底层实现机制
更多相关阅读请进入《C++》频道 >>