C++吸引海量智力投入,產出重量級書籍無數。本文分門別類推薦20+本好書,助你按需選讀,避開反面教材陷阱。
| 書籍 | 作者 | 定位 | 核心價值 |
|---|---|---|---|
| 《The C++ Programming Language》(TCPL) | Bjarne Stroustrup | 權威參考手冊 | 語言創建者視角,輪廓鮮明,第四部分「用C++做設計」極稀缺 |
| 《The Design and Evolution of C++》(D&E) | Bjarne Stroustrup | 語言設計哲學 | 理解每個特性的來龍去脉,知其然更知所以然 |
「為了避開C++的復雜性而不用C++,無異於因噎廢食。」在所有可用C/C++的領域,C++擁有更安全的類型檢查、更好的抽象機制、更優秀的庫。
例外情況:項目極小、無需任何抽象機制(連ADT、RAII、異常、智能指針都不用)、無基礎庫依賴——這時C確無問題。
C++的復雜性帶來的混亂,抵消乃至超過了其抽象機制與庫在特定項目中的收益。但警惕「理由長腳效應」:一旦認定「C++不好」,即使語言簡化也會找新理由拒絕。
| 場景 | 建議語言 | 理由 |
|---|---|---|
| 效率要求不高、快速交付 | Java/Python/Ruby | 開發效率高,生態成熟 |
| 高性能、大規模、系統級 | C++ | 零開銷抽象,成熟工業生態 |
| 既有C++代碼基維護/擴展 | C++ | 重寫非平凡代碼基=自殺 |