《effective c++》笔记一
2017-06-12 20:24
162 查看
条款1:视C++为一个语言联邦
条款2:尽量以const,enum,inline替换#define
对于单纯常量,最好以const对象或enum替换#dedine对于形似函数的宏,最好改用inline函数替换#define
条款3:尽可能使用const
将某些东西声明为const可帮助编译器侦测出错误用法。const可被施加于任何作用域内的对象,函数参数,函数返回类型,成员函数本体。编译器强制实施bitwise constness(物理常量性),但你编写程序时应该使用conceptual constness(概念常量性)。
当const与non-const成员函数有着实质等价的实现时,令non-const版本调用const版本可避免代码重复。
条款4:确定对象被使用前已被初始化
为内置对象进行手工初始化,因为C++不保证初始化它们。构造函数最好使用成员初值列,而不要在构造函数本体内使用赋值操作。初值列列出的成员变量,其排列次序应该和它们在class内的声明次序相同。
为免除“跨编译单元之初始化次序”问题,请以local static对象替换non-local static对象。
相关文章推荐
- Effective C++学习笔记:条款2:尽量用iostram而不用stdio.h
- [笔记]Effective C++12条(以initialization取代assignment动作)
- Effective C++学习笔记:在函数重载和设定参数缺省值间慎重选择
- Effective C++ 第一章学习笔记
- Effective C++ 01 视C++为一个语言联邦 笔记
- 《Effective C++》 笔记
- 《Effective C++》笔记(一)
- 读effective c++的笔记
- Effective C++ 笔记
- [笔记]Effective C++13条(init list中的member初始化次序应与class内的声明次序相同)
- Effective C++ 学习笔记:为含指针变量的类声明一个拷贝构造函数和一个赋值操作符
- Effective C++学习笔记:分清成员函数,非成员函数和友元函数
- Effective C++学习笔记:尽量用“传引用”而不用“传值”
- Effective C++学习笔记:尽量使用初始化而不要在构造函数里赋值
- Effective C++ 笔记
- 《Effective C++》笔记(一)
- Effective C++学习笔记:写operator new和operator delete时要遵循常规
- 《Effective C++》笔记(一)
- Effective C++ 导读 笔记
- Effective C++ 02 尽量以const, enum, inline替换#define 笔记