條款1:
C++語言可以看做是多種次語言的混合體
1、C
2、Template
3、STL
4、類
條款2:
1、對於單純的常量,例如在類中聲明數組長度的常量,能夠使用
enum{},不想讓別人獲得指向這個常量的指針或引用時可以用
constexpr static或者const static來替代,
2、#define是不能支持封裝性質的,盡可能避免,當然像
#ifdef,#endif 還是有用的 ,(編譯器會直接替換所用宏)
3、對於形如函數的宏,盡可能使用inline來替換(不然會產生很多副作用)
條款3:
1、很多函數會返回一個const 的常量值,是為了避免用戶對該返回值進行不合理的操作,例如
class A{}
const A operator*(const A& x,const A&y);
沒有const 就可能對函數返回值進行無意義賦值操作。