1.讓自己習(xí)慣C++
條款01:視C++為一個(gè)語(yǔ)言聯(lián)邦
條款02:盡量以const,enum,inline替換#define
條款03:盡可能使用const
條款04:確定對(duì)象被使用前已先被初始化
2.構(gòu)造/析構(gòu)/賦值運(yùn)算
條款05:了解C++默默編寫并調(diào)用哪些函數(shù)
條款06:若不想使用編譯器自動(dòng)成生的函數(shù),就該明確拒絕
條款07:為多態(tài)基類聲明Virtual析構(gòu)函數(shù)
條款08:別讓異常逃離析構(gòu)函數(shù)
條款09:絕不在構(gòu)造和析構(gòu)過(guò)程中調(diào)用Virtual函數(shù)
條款10:令Operator=返回一個(gè)referenceto this
條款11:在Operator=中處理“自我賦值”
條款12:復(fù)制對(duì)象時(shí)勿忘其每一個(gè)成分
3.資源管理
條款13:以對(duì)象管理資源
條款14:在資源管理類中小心Coping行為
條款15:在資源管理類中提供對(duì)原始資源的訪問(wèn)
條款16:成對(duì)使用new和delete對(duì)象置入智能指針
條款17:以獨(dú)立語(yǔ)句將newed對(duì)象置入智能指針
4.設(shè)計(jì)與聲明
條款18:讓接口容易被正確使用,不易被誤用
條款19:設(shè)計(jì)class猶如設(shè)計(jì)type
條款20:寧以pass-by-reference-to-const替換Pass-by-value
條款21:必須返回對(duì)象時(shí),別妄想返回其reference
條款22: 將成員變量聲明為private
條款23: 寧以non-member、non-friend替換member函數(shù)
條款24:若有所參數(shù)皆需類型轉(zhuǎn)換,請(qǐng)為此采用non-member函數(shù)
條款25:考慮寫出一個(gè)不拋異常的swap函數(shù)
5.實(shí)現(xiàn)
條款26:盡可能延后變量定義式的出現(xiàn)時(shí)間
條款27:盡量少做轉(zhuǎn)型動(dòng)作
條款28:避免返回handles指向?qū)ο髢?nèi)部成分
條款29:為“異常安全”而努力是值得的
條款30:透徹了解inlining的里里外外
條款31:將文件間的編譯依存關(guān)系降至最低
6.繼承與面向?qū)ο笤O(shè)計(jì)
條款32:確定你的public繼承塑模出is-a關(guān)系
條款33:避免遮掩繼承而來(lái)的名稱
條款34:區(qū)分接口繼承和實(shí)現(xiàn)繼承
條款35:考虛virtual函數(shù)以外的其他選擇
條款36:絕不重新定義繼承而來(lái)的non-virtual函數(shù)
條款37:絕不重新定義繼承而來(lái)的缺省參數(shù)值
條款38:通過(guò)復(fù)合塑模出has-a或“根據(jù)某物實(shí)現(xiàn)出”
條款39:明智而審慎地使用private繼承
條款40:明智而審慎地使用private繼承
7.模板與泛型編程
8.定制new和delete
9.雜項(xiàng)討論
posted on 2010-02-24 11:41
思月行云 閱讀(430)
評(píng)論(0) 編輯 收藏 引用