博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Efective C++ Notes

Posted on 2011-09-30 10:36  douyamumu  阅读(158)  评论(0)    收藏  举报

1.需要使用常量值时使用const变量(在头文件中定义),不要使用#define。

2. 不要使用#define max(a, b)  ((a) > (b)) ? (a) : ( b)这类宏,而是采取在头文件中定义相同功能的inline函数,inline函数可以同样实现高效率并保证类型安全,若要支持泛型只需将inline函数定义为模板。

3.内存分配上使用new和delete,不要使用malloc跟free。最重要的是不要二者混用。(malloc在分配内存时不会使用构造函数,分配的内存没有初始化,free释放内存时也不会调用对象的destructor,这对于自身还分配其他内存的对象来说会造成内存泄漏,此时一定要使用new跟delete)。

4.在写块注释时一定不能写嵌套注释,否则注释会提前出错并引起编译错误。