歷史
Bjarne Stroustrup 當初想要創造一種既能保持 C 語言效率,又能提供更高抽象層次的語言。
C++ 獨特處:
-
記憶體控制權: Java 的垃圾回收或是Python 的自動記憶體管理,C++ 讓我們可以設計記憶體的分配與釋放。這在即時系統或記憶體受限的環境中十分重要。
-
零開銷抽象:C++ 的物件導向特性在編譯時就被最佳化,不會造成執行時的額外負擔。讓開發者可以使用 class、template 等,但最終產生的機器碼效率仍然很高。
-
多重程式設計範式:C++ 支援程序式、物件導向、泛型程式設計等,讓開發者可以根據問題選擇最適合的解法。
C++11 之後,加入了 smart pointer、auto 關鍵字、lambda 表達式等功能,讓程式碼更安全也更易讀,同時保持了原有的效能優勢。這也是為什麼它在需要高效能的領域中仍然不可替代。
價值
-
人工智慧與科學計算
- TensorFlow、PyTorch 的核心運算模組
- 大規模模擬(computational physics、computational chemistry)
-
金融工程
- 高頻交易(HFT, High-Frequency Trading)
- 低延遲網路與即時風險分析系統
-
系統軟體與底層開發
- 作業系統(Windows、Linux kernel 部分模組)
- 瀏覽器(Chromium 中的核心模組)
-
遊戲與圖形引擎
- Unreal Engine、Unity(部分底層)
- 即時渲染、物理引擎、遊戲 AI
總結
C++ 是 Bjarne Stroustrup 在 1980 年代創造的程式語言,目標是結合 C 語言的高效能與更高層次的抽象能力。它的三大特色包括:完全的記憶體控制權(不像 Java/Python 有自動記憶體管理)、零開銷抽象(物件導向功能不影響執行效率)、以及支援多種程式設計範式。C++11 後加入智慧指標、auto 關鍵字等現代功能,讓程式更安全易讀。正因為這些特性,C++ 至今仍是 AI 運算核心(TensorFlow、PyTorch)、高頻金融交易、系統軟體開發(Windows、Chrome)、以及遊戲引擎(Unreal Engine)等高效能領域的首選語言。