《Effective C++》简明笔记-上在学习算法导论的过程中,我深深地震撼于自己笔下C++代码的丑陋。于是我决定捧 起这本《Effective C++》。本来打算看完这本书,写一篇完整的笔记博文,但是刚刚看到一半,我已经跃跃欲试地想动手改善我的代码了。所以,我将写完的这部分笔记整理成单独 的一篇博文。 1. 视C++为一个语言联盟。
2. 使用 const,enum,inline 代替#define。3. 尽可能使用 const
4. 保证使用对象前进行初始化
5. 了解C++默默做的事
6. 如果不想使用编译器自动生成函数,就该明确拒绝
7. 为多态基类声明virtual析构函数
8. 不让异常逃离析构函数
9. 不在构造函数或析构函数中调用virtual函数
10. 令 operator= 返回一个对 this 的引用
11. 在 operator= 中处理自我赋值
12. 复制对象时不要忘了对象的每一个部分
13. 以对象管理资源
14. 在资源管理器中小心 copying 行为
15. 在资源管理器中提供对原始资源的访问
16. 成对使用 new 与 delete 时采取相同的形式
17. 以独立语句将 newed 对象置入智能指针中
18. 让接口易于使用,难于误用
19. 设计 class 犹如 设计 type20. 用 pass-by-reference-const 替换 pass-by-value
21. 必须返回对象时,不要试图返回 reference
22. 将成员变量声明为 private23. 以 non-member 和 non-friend 函数替换 non-member 函数
24. 如果函数的所有参数都需要类型转换,采用 non-member 函数
25. 考虑写一个不抛出异常的 swap 函数
26. 尽量延后变量定义式的时间
27. 尽量少做转型动作
28. 避免返回 handles 指向对象内部部分
29. 为“异常安全”而作的努力是值得的
|
|