Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5068890
  • 博文数量: 1200
  • 博客积分: 12961
  • 博客等级: 上将
  • 技术积分: 14456
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 11:25
  • 认证徽章:
个人简介

偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.

文章分类

全部博文(1200)

文章存档

2019年(177)

2018年(81)

2017年(80)

2016年(70)

2015年(52)

2014年(41)

2013年(51)

2012年(85)

2011年(45)

2010年(231)

2009年(287)

分类: 其他平台

2019-06-27 11:34:14

1. 禁止用隐藏方式 定义 非virtual 成员函数.
   重载, 同个类中 
  • 函数名相同, 参数不同
  覆盖: 派生类 覆盖 基类 的函数
  • 函数名 + 参数都相同, 实现不同
  • 基类函数 必须由 virtual 关键字修饰.
  隐藏: 派生类 屏蔽 基类 中 的同名成员函数
  • 如果 派生类的函数 与 基类函数同名, 但参数不同, 则无论是否有virtual关键字, 基类函数被隐藏.
  • 如果 派生类的函数 与 基类函数同名, 并且参数也相同, 但基类函数没有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;} }
阅读(118) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册