當前位置: 華文星空 > 知識

C++ 難在哪?

2015-12-08知識

寫了8年C++,我也來分享下,其實C++並不很難,別聽那些段子,有些就是高手用來自娛的

對於新手,我的建議是:閱讀實際專案(比如淘寶開源的tbnet,多隆大神出品的),早期不要去碰樣版和宏(遠離boost!),也不必去費力的讀懂專案裏樣版和宏。但是繼承與虛擬函式一定要用、要搞明白,一定要完全了解自己所使用的編譯器編譯出來的物件的記憶體布局(虛擬函式表、記憶體對齊等)。操作符多載也沒必要一開始就學,我參與過的實際專案極少遇到。

用物件導向的方式思考設計,嘗試用C++來實作,嘗試用C++開發一套網絡框架,嘗試自己去管理記憶體,嘗試使用C++物件導向特性盡量減少重復或相似程式碼和的if/switch,嚴格的執行防禦式編程,避免使用異常而是打日誌和返回錯誤碼(我經歷的專案嚴格禁止使用異常)。

樣版、宏等高級特性沒必要為了學習而學習,而是在實際專案中,對底層模組保持精益求精的態度,透過高級特性,來使得程式碼更易維護,介面更最佳化,而做出的選擇。

最後,一點個人建議,別聽沒造過輪子的人忽悠,作為一個造過很多輪子的過來人,我的建議是用C++做底層開發,一定要嘗試自己造輪子,並且持續改進自己的輪子,大膽的把自己輪子用在實際專案中。