本週內,每天更新。
c++的特性主要**四個大方面(四個次語言)
結論:
壞處用const取代
用enum取代
用inline取代
結論:注意:
const成員函式
bitwise constness(編譯器就是這種)和logical constness:
在const和non-const成員函式中避免重複
結論:手工初始化:
建構函式最好使用成員初值列,而不要在建構函式內賦值操作。初值列列出的成語變數,其排列次序應該和它們在class中的宣告次序相同
為了免除「跨編譯單元之初始化次序」的問題(就是定義檔案之間的初始化沒有先後順序),應該以local static物件替換non-local static物件
Effective cpp 讀書筆記2
c 默默編寫的函式 程式設計師沒有宣告的前提下 default建構函式 copy建構函式 copy assignment操作符 default析構函式 非virtual 編譯器產出的函式都是public的 關於建構函式,如果使用者定義了至少一種,就不會有預設建構函式 結論 自行宣告和定義 將對應的函...
Effective cpp 讀書筆記5
切記將成員變數宣告為private。這可賦予客戶訪問資料的一致性 可細微劃分訪問控制 允諾約束條件或的保證,並提供class作者以充分的實現彈性 protected並不比public更具封裝性 這樣做可以增加封裝性 包裹彈性和技能擴充性 目的是為了保證函式一致性。典型例子是過載類的運算子operat...
Effective cpp 讀書筆記9
當我們編寫乙個class template,而它所提供的 與此template相關的 函式支援 所有引數之隱式型別轉換時 請將那些函式定義為 class template內部的friend函式 個人理解 template實參推導過程中,從來不將隱式型別轉換函式納入考慮。這樣的轉換咋函式呼叫過程中確實...