C++ 编程规则 重载,覆盖,隐藏 ?内联函数 内存管理

1410阅读 0评论2019-06-27 iibull
分类:其他平台

1. 禁止用隐藏方式 定义 非virtual 成员函数.
   重载, 同个类中    覆盖: 派生类 覆盖 基类 的函数
  隐藏: 派生类 屏蔽 基类 中 的同名成员函数

内联函数:
    1. 内联函数代码不宜过长, 否则 内存消耗较大.
    2. 不能出现循环, 否则函数调用代价较大.
    3. 不能出现递归, 否则编译器会报错或者自动取消内联.

函数定义
    1. 功能要单一化
    2. 规模要小
    3. 函数内部尽量避免使用静态变量. 除非程序员确认必需.
    4. 严格检查所用到的输入参数 全局变量, 文件句柄等有效性.
    5. 明确错误返回.

内存管理
    1. 注意内存申请是否失败.
    2. 新内存注意初始化
    3. 避免数组或指针的下标越界, 强制使用动态数组模板.
    4. new/delete 要匹配. free或者delete之后, 应立刻把指针设置为NULL, 防止野指针.
    5. 防止野指针, 前置使用 SAFE_DELETE  SAFE_RELEASE宏.
        #define SAFE_DELETE(p)                 {  if(p) {delete(p);  (p)=NULL;} }
        #define SAFE_DELETE_ARRAY(p)     { if(p) {delete[] (p);  (p)=NULL;} 
        #define SAFE_RELEASE(p)                { if(p) { (p)->Release();  (p)=NULL;} }
上一篇:C++ 编程规则 常量 和 函数
下一篇:C++ 编程规则 类