条款01:View C++ as a federation of languages;
条款02:Perfer consts, enums, and inlines to #define
尽量以const, enmuns, inline替换 #define
l 如果关键字const出现在星号左边,表示被指物是常量;如果出现在星号右边,便是指针自身是常量;如果出现在星号两边,表示被指物和指针两者都是常量
l 如果被指物是常量,有些程序员会将关键字写在类型之前,有些人会把它写在类型之后、星号之前。EG.
Void f1(const Widget * pw);
Void f2(Widget const * pw);
l 对于单纯常量,最后以const对象或enums替换#define;
l 对于形似函数的宏,最好改用inline函数替换#define;
条款03:尽可能使用const
l 将某些东西声明为const 可以帮助编译器侦查错误用法;
条款04:确定对象被使用前已先被初始化
l 对于内置对象,要对它手工初始化;
l 构造函数最好使用成员初始列,而不要在构造函数本体内使用赋值操作。初值列列出的成员变量,其排列次序应该和他们在class中的声明次序相同
以local static 对象替换non-local static对象