Effective C++ 讀書筆記(45-50):雜項討論

來源:互聯網
上載者:User
Item45 -- 清楚知道C++編譯器默默為我們完成和調用哪些函數

建構函式、拷貝構造、析構、賦值、取地址

Item46 -- 寧願編譯和串連時出錯,也不要執行時才錯

舉了個把月份抽象成類,通過類的機制使得在編譯和串連的時候能夠發現錯誤。這個有點太高深了,一般用不到。忽略。

Item47 -- 使用non-local static objects之前先確定它已有初值

可以使用單鍵模式解決,在使用的函式宣告一個static變數,第一次使用則初始化,以後則直接擷取了。
Item48 -- 不要對編譯器的警告資訊視如不見
C++真的是個難搞的語言,所以下面的這種情況只能見到一個就記一個了

class B{

public:

virtual void f() const;

};

class D: public B{

public:

virtual void f();

};

Warning: D::f() hides virtual B:f()

這個編譯錯誤是說,B中的f()被掩蓋了,即無法使用const B* pb調用f()函數了

Item49 -- 盡量讓自己熟悉C++標準程式庫

沒的說,STL要熟悉,這個任重而道遠,現在主要是參考www.cplusplus.com的reference
如果有時間的話,還想看的就是《Effective STL》《STL源碼剖析》之類的書了

Item50 -- 加強自己對C++的瞭解

要讀兩本書,The Design and Evolution of C++, The Annotated C++ Reference Manual
等有了一定基礎和時間再看吧

 

後記:

Effective C++很早就看完了,不過現在回頭看,很多東西都值得再看一遍,我認為深入C++學習,這是一本必須要看的書,很多細節方面的東西,Scott Mayers都駕輕就熟的展現出來,哪天能夠把他整本書的思想全部用自己的話講出來,做到淺顯易懂,那麼C++算是精通了,現在還只能是粗略的記錄下自己認為的重點,所以這個目標還值得花上好幾年的努力。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.