zoukankan      html  css  js  c++  java
  • 面试问题之C++语言:如何避免内存泄漏?

    转载于:https://www.php.cn/csharp-article-416104.html

    1、不要手动管理内存,可以尝试在适用的情况下使用智能指针。

    2、使用string而不是char*。string类在内部处理所有内存管理,而且它速度快且优化得很好。

    3、除非要用旧的lib接口,否则不要使用原始指针。

    4、在C++中避免内存泄漏的最好方法是尽可能少地在程序级别上进行new和delete调用--最好是没有。任何需要动态内存的东西都应该隐藏在一个RAII对象中,当它超出范围时释放内存。RAII在构造函数中分配内存并在析构函数中释放内存,这样当变量离开当前范围时,内存就可以被释放。

    (注:RAII资源获取即初始化,也就是说在构造函数中申请分配资源,在析构函数中释放资源)

    5、使用了内存分配的函数,要记得使用其想用的函数释放掉内存。可以始终在new和delete之间编写代码,通过new关键字分配内存,通过delete关键字取消分配内存。

    6、培养良好的编码习惯,在涉及内存的程序段中,检测内存是否发生泄漏。

  • 相关阅读:
    Monkeyrunner介绍
    monkeyrunner 简单用例编写
    Android中如何查看内存
    Android内存之VSS/RSS/PSS/USS
    Android内存泄露(全自动篇)
    生成hprof文件,用MAT进行分析
    OpenGL入门学习【转】
    Vim保存代码折叠信息【转】
    windows下Cscope【转】
    Ruby学习笔记:Fiber
  • 原文地址:https://www.cnblogs.com/yichengming/p/11466636.html
Copyright © 2011-2022 走看看