譯序(侯捷)                                            
目錄(Contents)                                        
致謝(Acknowledgments. 中文版略)                        
導(dǎo)讀(Introduction)                                        001
基礎(chǔ)議題(Basics)                                        009
條款1:仔細(xì)區(qū)別 pointers 和 references                        009
Distinguish between pointers and references
條款2:最好使用 C++ 轉(zhuǎn)型操作符                            012
Prefer C++-style casts
條款3:絕對(duì)不要以polymorphically(多態(tài))方式來處理數(shù)組    016
Never treat arrays polymorphically
條款4:非必要不提供 default constructor                        019
Avoid gratuitous default constructors
操作符(Operators)                                        024
條款5:對(duì)定制的型別轉(zhuǎn)換函數(shù)保持警覺                        024
Be wary of user-defined conversion functions
條款6:區(qū)別 increment/decrement 操作符的
 前置(prefix)和后置(postfix)型式                        031
Distinguish between prefix and postfix forms of increment 
 and decrement operators
條款7:千萬不要重載 &&, ||, 和 , 操作符                    035
Never overload &&, ||, or ,
條款8:了解各種不同意義的 new 和 delete                038
Understand the different meanings of new and delete
異常(Exceptions)                                        044
條款9:利用 destructors 避免泄漏資源                        045
Use destructors to prevent resource leaks
條款10:在 constructors 內(nèi)阻止資源泄漏(resource leaks)        050
Prevent resource leaks in constructors
條款11:禁止異常(exceptions)流出 destructors 之外            058
Prevent exceptions from leaving destructors
條款12:了解「擲出一個(gè) exception」與「?jìng)鬟f一個(gè)參數(shù)」
 或「調(diào)用一個(gè)虛函數(shù)」之間的差異                    061
Understand how throwing an exception differs from 
 passing a parameter or calling a virtual function
條款13:以 by reference 方式捕捉 exceptions                    068
Catch exceptions by reference
條款14:明智運(yùn)用 exception specifications                    072
Use exception specifications judiciously
條款15:了解異常處理(exception handling)的成本            078
Understand the costs of exception handling
效率(Efficiency)                                        081
條款16:謹(jǐn)記 80-20 法則                                    082
Remember the 80-20 rule
條款17:考慮使用 lazy evaluation                            085
Consider using lazy evaluation
條款18:分期攤還預(yù)期的計(jì)算成本                            093
Amortize the cost of expected computations
條款19:了解暫時(shí)對(duì)象的來源                                098
Understand the origin of temporary objects
條款20:協(xié)助完成「返回值優(yōu)化(RVO)」                    101
Facilitate the return value optimization
條款21:利用重載技術(shù)(overload)避免隱式型別轉(zhuǎn)換            105
Overload to avoid implicit type conversions
條款22:考慮以操作符復(fù)合型式(op=)取代其獨(dú)身型式(op)107
Consider using op= instead of stand-alone op
條款23:考慮使用其它程序庫(kù)                                110
Consider alternative libraries
條款24:了解 virtual functions、multiple inheritance、virtual base classes、
 runtime type identification 所需的成本                         113
Understand the costs of virtual functions, multiple inheritance, 
 virtual base classes, and RTTI
技術(shù)(Techniques, Idioms, Pattern)                         123
條款25:將 constructor 和 non-member functions 虛化             123
Virtualizing constructors and non-member functions
條款26:限制某個(gè) class 所能產(chǎn)生的對(duì)象數(shù)量                 130
Limiting the number of objects of a class
條款27:要求(或禁止)對(duì)象產(chǎn)生于 heap 之中                  145
Requiring or prohibiting heap-based objects
條款28:Smart Pointers(智能指針)                          159
條款29:Reference counting(引用計(jì)數(shù))                      183
條款30:Proxy classes(替身類、代理類)                      213
條款31:讓函數(shù)根據(jù)一個(gè)以上的對(duì)象型別來決定如何虛化          228
Making functions virtual with respect to more than one object
雜項(xiàng)討論(Miscellany)                                      252
條款32:在未來時(shí)態(tài)下發(fā)展程序                              252
Program in the future tense
條款33:將非尾端類(non-leaf classes)設(shè)計(jì)為
 抽象類(abstract classes)                                      258
Make non-leaf classes abstract
條款34:如何在同一個(gè)程序中結(jié)合 C++ 和 C                  270
Understand how to combine C++ and C in the same program
條款35:讓自己習(xí)慣于標(biāo)準(zhǔn) C++ 語(yǔ)言                          277
Familiarize yourself with the language standard
推薦書目                                                  285
auto_ptr 實(shí)現(xiàn)代碼                                          291
索引1(General Index)                                      295
索引2(Index of Example Classes, Functions, and Templtes)      313