声明构造函数的时候应该尽量往前面加上explict防止隐式的转换,这样可以提高安全性
条款2:对于常量尽量用const 代替#define,对于函数以inline代替#define
条款3:尽量的使用const.对于指针情况。
如果const出现在*的左边,那么内容是常量,如果是右边则指针是常量。而类型和const的位置可以交换
A const * p; //内容是常量
const A *p; //与上相同
A *const p1; //指针是常量
对函数的返回值声明为const可以避免出现,需要判断由于手误打成赋值号的情况 如 foo(a,b)=c,这里编译器就会报错
条款4: 在使用成员之前将其初始化。
一般对于C类型的成员不对它赋初始值,使用它是产生结果是不确定的,而使用C++的对象,则因为有默认构造函数,则会自动初始化。
对于类对象的初始化,最好在其构造函数的初始化列表后面完成,这样可以省掉不必要的工作量。
条款5:默认生成哪些函数