条款二 尽量使用const,enum,inline替换#define
2012-07-16 23:25
295 查看
1.#define定义的变量预处理时没有加入记号表中,若出现错误时很难找到出错之处
2.使用#define定义的变量尽量使用const代替,#define A 3可以使用const int A=3代替
3.在类里使用static定义const常量,确保至多只有一个const常量
4.设计一个类
如果编译器不支持num这样声明的时候初始化,则可以使用enum {num = 5};
如果不支持num那样初始化,则可以在实现文件中,const int Test::num = 5;这样就OK了
5.使用enum定义的常量还可以禁止指针或引用使用,起到对enum常量的约束作用
6.使用#define定义函数宏时,可以消除调用函数的开销,但缺乏安全性,可以使用inline定义函数
7.使用inline定义的函数
(1)使用到模板;(2)使用inline定义;(3)使用了引用参数
2.使用#define定义的变量尽量使用const代替,#define A 3可以使用const int A=3代替
3.在类里使用static定义const常量,确保至多只有一个const常量
4.设计一个类
class Test { private: static const int num = 5; int str[num]; }
如果编译器不支持num这样声明的时候初始化,则可以使用enum {num = 5};
如果不支持num那样初始化,则可以在实现文件中,const int Test::num = 5;这样就OK了
5.使用enum定义的常量还可以禁止指针或引用使用,起到对enum常量的约束作用
6.使用#define定义函数宏时,可以消除调用函数的开销,但缺乏安全性,可以使用inline定义函数
7.使用inline定义的函数
template<class T> inline int Max(const T& a,const T& b) { return (a > b ? a : b); }
(1)使用到模板;(2)使用inline定义;(3)使用了引用参数
相关文章推荐
- Effective C++_笔记_条款02_尽量以const、enum、inline替换#define
- Effective C++学习笔记 条款02:尽量以const,enum,inline替换 #define
- c++ 尽量不要使用#define 而是用const、enum、inline替换。
- 《Effective C++读书笔记》--条款02尽量以const,enum,inline替换#define
- 条款2:尽量以CONST,ENUM,INLINE替换#DEFINE
- 条款02:尽量以const,enum,inline替换#define
- 条款02:尽量以const,enum,inline替换#define
- [effectiv c++]条款2:尽量以const,enum,inline替换#define(static,const定义式)
- [Effective C++读书笔记]002_条款02_尽量以const,enum,inline替换#define
- Effective C++ 条款02解读: 尽量以const, enum, inline替换#define
- 【Effective C++ 读书笔记】条款02: 尽量以 const, enum, inline 替换 #define
- [Effective C++]条款02 尽量以const,enum,inline替换#define
- Effective C++--条款02:尽量以const,enum,inline替换#define(以编译器替换预处理器)
- Effective C++ 条款2 尽量以const,enum,inline替换#define
- Effective C++ 条款02 尽量以const,enum,inline替换#define
- Effective C++ 读书笔记——条款2:尽量以const,enum,inline替换#define
- 条款2:尽量以const,enum,inline 替换 #define
- 条款02:尽量以const,enum,inline替换#define
- Effective C++ -----条款02:尽量以const, enum, inline替换 #define
- 条款2:尽量以const,enum,inline替换#define