Effective C++的读书笔记

来源:互联网 发布:淘宝直通车展位在哪里 编辑:程序博客网 时间:2024/06/06 18:22

书:Broadview的Effective C++第三版中文版

记法:数字表示页和行,+表示当前页正数, -表示当前页倒数

P12 -4:对于内置类型而言pass-by-value通常比pass-by-reference更高效。而用户自定义类型由于有构造和析构函数,pass-by-reference-const往往更好。而STL的迭代器和函数对象都是基于指针的,所以pass-by-value再次高效。

P15 -7:the enum hack的优势:其行为比较像#define(如不能取其地址),Enum和#define一样不会当值非必要的内存分配,实用(很多代码用了它,也是模板元编程的基础技术)。

P17 -3::用template inline函数替代类函数宏。

P18 +1:如果const出现在星号左边,表示被指物是常量;如果出现在星号右边,表示指针自身是常量。对于STL迭代器const和const_iterator分别表示iter是常量和iter所指为常量。

条款03太长了,很少用const,下次研究。

条款04:经验上,内置变量windows不会初始化,linux会初始化为0。

P31 +6:多个编译单元内的non-local static对象的初始化相对次序无明确定义。可以使用static a; return static a;的Singleton模式消除这个问题。但这种形式会在多线程系统中带有不确定性。