《Effective C++》學(xué)習(xí)筆記(0)

《Effective C++:改善程序與設(shè)計的55個具體方法》
Scott Meyers 著,侯捷 譯

做個筆記幫助學(xué)習(xí)、理解和記憶,嗯。

0 導(dǎo)讀

聲明式 (declaration):告訴編譯器某個東西的名稱和類型(type),但略去細(xì)節(jié)。
簽名式 (signature):函數(shù)的參數(shù)和返回類型。一個函數(shù)的簽名等同于該函數(shù)的類型。
定義式 (definition):提供編譯器一些聲明式所遺漏的細(xì)節(jié)。
初始化 (initialization):“給予對象初值”的過程。對用戶自定義類型的對象而言,初始化由構(gòu)造函數(shù)執(zhí)行。
default構(gòu)造函數(shù):一個可被調(diào)用而不帶任何實參的構(gòu)造函數(shù)。這樣的構(gòu)造函數(shù)要么沒有初值,要么就是每個參數(shù)都有缺省值。
explicit構(gòu)造函數(shù):可阻止它們被用來進(jìn)行隱式類型轉(zhuǎn)換,但仍可被用來進(jìn)行顯示類型轉(zhuǎn)換。explicit構(gòu)造函數(shù)通常比non-explicit構(gòu)造函數(shù)更受歡迎,因為它們禁止編譯器執(zhí)行非預(yù)期的類型轉(zhuǎn)換。除非需要允許構(gòu)造函數(shù)被用于隱式類型轉(zhuǎn)換,否則建議聲明為explicit。
copy構(gòu)造函數(shù):被用來“以同型對象初始化自我對象”,copy assignment(copy 賦值)操作符被用來“從另一個同型對象中拷貝其值到自我對象”。

class Widget{
public:
  Widget();                                // default構(gòu)造函數(shù)
  Widget(const Widget& rhs);               // copy構(gòu)造函數(shù)
  Widget& operator=(const Widget& rhs);    // copy assignment操作符 (重載=運(yùn)算符)
  ... ...
};
Widget w1;             // 調(diào)用default構(gòu)造函數(shù)
Widget w2(w1);         // 調(diào)用copy構(gòu)造函數(shù)
w1 = w2;               // 調(diào)用copy assignment操作符

注意:“=”語法也可用來調(diào)用copy構(gòu)造函數(shù)。

Widget w3 = w2;        // 調(diào)用copy構(gòu)造函數(shù)

如果一個新對象被定義,一定會調(diào)用構(gòu)造函數(shù),如果沒有新對象被定義,就是賦值操作被調(diào)用。copy構(gòu)造函數(shù)定義一個對象如何passed by value(以值傳遞)。passed by value意味著“調(diào)用copy構(gòu)造函數(shù)”。

STL:標(biāo)準(zhǔn)模板庫(Standard Template Library),是C++標(biāo)準(zhǔn)程序庫的一部分,致力于容器(如vector, list, set, map等), 迭代器(如vector<int>::iterator, set<string>::iterator等),算法(如for_each, find, sort等)及相關(guān)機(jī)能。

函數(shù)對象 (function objects):行為像函數(shù)的對象,這樣的對象來自于重載operator()(function call 操作符)的classes。

作者在程序批注中提到構(gòu)造函數(shù)和析構(gòu)函數(shù)時,有時會使用縮寫字 ctordtor 。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容