Scott Meyers 指出 C++ 過於龐大,實際上由四個次語言組成,各有慣用法與最佳實踐:
malloc/free。std::vector、std::string、智慧指標、new/delete、const/inline 取代宏。class、封裝、繼承、多態、虛擬函式、建構/解構函式。std::enable_if、C++20 Concepts。const T&;Template 視概念需求傳值或通用參考(T&&)。malloc/free;OO 用 RAII(建構獲取、解構釋放);Template/STL 用智慧指標/容器自動管理。「沒有《XX 天精通 C++》這回事。」C++ 需要長期累積與實戰。建議循序漸進:
1. 先精通「C++ 當作更好的 C」
2. 再掌握 OO 設計模式與慣用法
3. 深入模板與泛型程式設計
4. 熟練 STL 容器與演算法組合
5. 最後探索 Modern C++ (C++11/14/17/20) 新特性
將 C++ 視為四個語言聯邦,依情境切換思維模式,遵循各次語言的最佳實踐,才能寫出高效、安全、可維護的 C++ 代碼。