【读书笔记】EffectiveC++ 1.让自己习惯c++
规则1 视C++为语言联邦
c++中包含有四种次语言 即C,Object C,Template C 和stlC
在不同应用场景下应当选用不同的编程策略。
规则2 尽量少用#define
少用define 使用const,static const ,enum和inline 函数来替代
规则3 尽量使用const
使用const修饰不会被修改的值 不会修改值的函数 不会改变指向的指针
const只要放在*前面就是修饰指针
如果一个const成员函数中传出了成员变量的指针,那么虽然它不会直接修改成员变量,却产生了成员变量可能被修改的可能。
假如需要修改const函数中的变量 可以使用mutable命名
使用const_cast可以让编译器认可对const变量的使用非const方法 借此可以让非const方法调用const方法来返回值
规则4 确定对象使用前已被初始化
使用成员初值列来赋值成员初值,而不是使用构造函数,因为这样效率更高,并且注意顺序和声明顺序相同
以local static对象替换non-local static对象是 即通过封装好的函数获取静态变量 以保证静态变量在使用前一定被声明