Effective_C++读书笔记

Effective C++_读书笔记_101

2018-11-30  本文已影响15人  FlyingPig_

让自己习惯C++

条款01

视C++为一个语言联邦

包含:

条款02

以const,enum,inline替代#define

其中enum用在编译器期需要常量时,即"the enum hacks",原理是枚举可充当int,注意enum无法取地址或引用
inline函数用于替代形似函数的宏(macros)

条款03

尽可能使用const

注意const与指针的位置作用
const可与指针/迭代器/指针对象/迭代器对象/引用对象/函数参数/返回类型/local变量/成员函数合作
当const与non-const成员函数有实质等价实现时,另non-const版本调用const版本可避免重复,期间涉及到转型

思考:
写的每一个函数,都应对参数和输出进行思考,应该换成const吗?应该用引用还是指针还是值?

条款04

确定对象被使用前已先被初始化

核心:对内置型对象要进行手工初始化
注意:构造函数最好使用成员初始阵列,不要在构造函数内使用赋值操作符,原因是后者徒增了一次成员构造函数调用;初值阵列顺序要和声明中的顺序相同.
对于"跨编译单元之初始化次序"问题,应以local static对象替代non-local static对象,参考单例模式的静态局部对象做法.

上一篇下一篇

猜你喜欢

热点阅读