effctive c++ tips
1. 除非有好的理由允许构造函数隐式转换,否则申明构造函数为explicit
2. default构造函数,copy构造函数,copy assignment操作符
新对象被定义一定有个构造函数被调用
1234Class w1;//default Class w2(w1);//copy构造Class w1=w1;//copy赋值操作符Class w3=w2;//copy构造
3. 类中声明常量
为确保此常量只有一个实例,用static
123class{ static const int Num=5;}
同时也可以使用enum
123class{ enum{Num=5};}
enum特征:
enum和define一样不允许指针指向自己,绝不会导致不必要的内存分配
实用主义,很多代码用了它
4. const食用技巧
1. const对象只能调用const成员函数、不能调用非const成员函数;非const对象可以调用const成员函数
引发原因: 由调用成员函数时隐式传入的当前对象的this指针引起。 ...