您的位置:首页 > 编程语言 > C语言/C++

《Effective C++ 3》01 让自己习惯C++ 条款:01-04

2014-01-06 11:53 661 查看
条款1:视C++为一个语言联邦

C++是一个 多重泛型编程语言支持:

·过程形式

·面对对象形式

·函数形式

·泛型形式

·元编程形式

C++高效编程守则视状况而变化 取决于你使用C++的哪一部分

条款2:尽量以const enum inline替换 #define (宁以编译器替换预处理器)

·对于单纯的常量 最好以const对象或者enum替代 #define

·对于形式函数的宏 最该该用 inline+模板的函数替换掉

·#ifdef/ifndef 条件编译宏 还是很有必要使用的

条款3:尽可能使用const

1.C++新增加了const对成员函数的修饰 const修饰的成员函数 在这个函数内对象的状态不可改变

2.有些时候 我们不得不改变一些对象的成员变量 可以使用mutable来修饰成员变量 这样在const成员函数内部也是可以改变的

3.const class_name& obj+name 替代 class_name obj_name

4.当const和non-const做的事情差不多时 以non-const成员函数调用const函数

条款4:确定对象被使用前已被初始化

1.区分赋值和初始化 C++规定基类先于子类构造 类的成员变量初始化顺序按照声明的顺序进行初始化话

2.对内置型对象进行手工初始化 因为C++不保证初始化他们

3.构造函数最好使用成员初始化列表 其排列顺序应该和他们在class中的声明次序相同

4.为免除“跨编译单元之初始化次序”问题(C++对这个未定义) 以local static替代 non-local static对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: