More effective C++ List

 最近正在读者本书,感觉受益匪浅。在这里把标题列出来,一目了然。其实,每一条包含很多内容。值得长考。

3. 基础议题..................................................................................................................... 12
3.1 ITEM M1:指标与引用的区别............................................................................ 12
3.2 ITEM M2:尽量使用C++风格的類型转换........................................................ 14
3.3 ITEM M3:不要对阵列使用多态........................................................................ 19
3.4 ITEM M4:避免无用的缺省构造函數................................................................ 21
4. 运算符......................................................................................................................... 26
4.1 ITEM M5:谨慎定义類型转换函數.................................................................... 26
4.2 ITEM M6:自增(INCREMENT)、自减(DECREMENT)操作符字首形式与尾码形式
的区别............................................................................................................................... 33
4.3 ITEM M7:不要重载“&&",“||", 或“,"................................................... 36
4.4 ITEM M8:理解各种不同含义的NEW和DELETE ................................................. 38
5. 異常............................................................................................................................. 44
5.1 ITEM M9:使用析构函數防止资源泄漏........................................................... 45
5.2 ITEM M10:在构造函數中防止资源泄漏......................................................... 50
5.3 ITEM M11:禁止異常资讯(EXCEPTIONS)传递到析构函數外..................... 59
5.4 ITEM M12:理解“抛出一个異常"与“传递一个參數"或“调用一个虚函
數"间的差異.................................................................................................................. 62
5.5 ITEM M13:通过引用(REFERENCE)捕获異常................................................ 69
5.6 ITEM M14:审慎使用異常规格(EXCEPTION SPECIFICATIONS)............................. 73
5.7 ITEM M15:了解異常处理的系统开销.............................................................. 79
6. 效率............................................................................................................................. 81
6.1 ITEM M16:牢记80-20 准则(80-20 RULE)............................................... 82
6.2 ITEM M17:考虑使用LAZY EVALUATION(懶惰计算法) ................................ 84
6.3 ITEM M18:分期摊还期望的计算...................................................................... 92
6.4 ITEM M19:理解臨时物件的來源...................................................................... 97
6.5 ITEM M20:协助完成返回值优化...................................................................... 99
6.6 ITEM M21:通过重载避免隐式類型转换....................................................... 103
6.7 ITEM M22:考虑用运算符的赋值形式(OP=)取代其单独形式(OP)... 105
6.8 ITEM M23:考虑变更程式库............................................................................. 108
6.9 ITEM M24:理解虚拟函數、多继承、虚基類和RTTI所需的代价............. 111
7. 技巧(TECHNIQUES,又称IDIOMS 或PATTERN) ........................................ 119
7.1 ITEM M25:将构造函數和非成员函數虚拟化............................................... 119
7.2 ITEM M26:限制某个類所能产生的物件數量............................................... 126
7.3 ITEM M27:要求或禁止在堆中产生物件....................................................... 141
7.4 ITEM M28:靈巧(SMART)指标...................................................................... 155
7.5 ITEM M29:引用计數......................................................................................... 178
7.6 ITEM M30:代理類.............................................................................................. 208
7.7 ITEM M31:让函數根据一个以上的物件來决定怎么虚拟.......................... 221
8. 杂项........................................................................................................................... 244
8.1 ITEM M32:在未來时态下开发程式................................................................ 244
8.2 ITEM M33:将非尾端類设计为抽象類............................................................ 249
8.3 ITEM M34:如何在同一程式中混合使用C++和C ......................................... 260
8.4 ITEM M35:让自己习惯使用标准C++语言.................................................... 265

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章