《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对象
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对象
相关文章推荐
- 【Effective C++】条款01-让自己习惯c++
- 读书笔记 Effective C++: 01 让自己习惯C++
- 《Effective C++》让自己习惯C++:条款1-条款4
- [Effective C++]条款01:视C++为一个语言联邦
- effective C++ 条款01 to 条款04
- 【读书笔记】Effective C++-1 让自己习惯C++(之一)
- Effective C++ 条款01:视C++为一个语言联邦
- 【Effective C++】让自己习惯C++
- Effective C++(一)让自己习惯C++
- 《Effective C++》学习笔记条款01 视C++为一个语言联邦
- Effective C++ ——让自己习惯C++
- Effective C++第一章:让自己习惯C++
- Effective C++ 读书笔记之----条款01:视 C++ 为一个语言联邦
- 《Effective C++ 3/e》笔记(一):让自己习惯 C++
- Effective C++ ——让自己习惯C++
- Effective C++ 读书笔记(一)让自己习惯C++
- Effective C++(一)让自己习惯C++
- Effective C++ ——让自己习惯C++
- Effective C++ ——》条款01:视C++为一个语言联邦
- effective c++-让自己习惯c++