很早之前就听过这本书,找工作之前读一读。看了几页,个人感觉实在是生涩难懂,非常不符合中国人的思维方式。之前也有博主做过笔记,我来补充一些自己的理解。
我看有人记了笔记,还不错:http://www.360doc.com/content/12/0426/20/7899729_206769585.shtml
这位博主还写了more effective c++的读书笔记:http://bellgrade.blog.163.com/blog/static/83155959200863113228254/
http://www.cnblogs.com/ronny/p/3737044.html
条款3:尽可能使用const:
与指针结合,如果const出现在星号左边,则表示被指物是常量;否则指针为常量。STL的迭代器就是一个常量指针,即指针本身是一个常量,它不允许指向
其他东西,但它所指东西的值是可以改变的。
const成员函数:两个函数如果差const,可视为重载。
条款4:确定对象被使用前已初始化
不要混淆了赋值和初始化。类的构造函数先执行函数初始化列表(初始化),再执行函数体(赋值)。
“不同编译单元内定义之non-local static对象”
总结下来就是:
- 为内置型对象进行手工初始化,因为C++不保证初始化它们。
- 构造函数最好使用成员初始化列表,而不要在函数体内使用赋值操作。初始列表列出的成员变量,其排列次序应该和它们在class中的声明次序相同。
- 为免除“跨编译单元之初始化次序”问题,请以local static对象替换non-local static对象。