已發布·持續改進
Programming language · 1985 年發布
C++ 是一種編譯式語言,在 C 的效能與硬體控制能力之上加入類別、樣板與 RAII 等抽象,廣泛用於遊戲引擎、系統軟體等領域。
C++ 是一種通用程式語言,最初由 Bjarne Stroustrup 在貝爾實驗室以「C with Classes」之名開發。它在很大程度上相容於 C,並加入了類別、樣板、例外處理與運算子多載等功能,現在由 ISO 委員會(WG21)負責維護標準。自 C++11 起,大約每三年發布一個新標準;歷經 C++17 與 C++20,一種更安全、表達力更強的寫法——「現代 C++」——已成為主流。
C++ 的強項在於需要精細控制效能與記憶體配置的場景,例如遊戲引擎、瀏覽器、資料庫、編譯器、金融交易系統與嵌入式裝置,這些軟體都很在意延遲與資源用量。依循「零額外負擔」原則(不為用不到的功能付出代價),開發者可以使用高階抽象,同時取得接近手寫機器碼的效率。
入門時,建議先為自己的系統安裝編譯器(Windows 使用 Visual Studio 附帶的 MSVC,macOS 使用 Xcode 命令列工具中的 Clang,Linux 使用 g++),然後親手編譯幾個小程式。學習語法可以參考 learncpp.com 這類入門教學,查詢標準函式庫則可使用 cppreference.com。從一開始就養成使用 std::vector、std::string 與智慧指標的習慣,就能避免大部分手動管理記憶體造成的錯誤。
類別、樣板與行內函式等抽象會被編譯成接近手寫低階程式碼的機器碼,沒有用到的功能也不會帶來額外成本。
物件離開作用域時會自動呼叫解構函式,因此不需要垃圾回收器,也能以可預期的方式釋放記憶體、檔案與鎖等資源。
樣板讓你撰寫與型別無關的通用程式碼,標準函式庫則提供經過驗證的容器、演算法、字串與執行緒工具。
可以混用程序式、物件導向、泛型與函數式風格,標準本身也持續演進,例如 C++20 加入的概念(concepts)與範圍(ranges)。
在 Windows 上安裝 Visual Studio,並勾選「使用 C++ 的桌面開發」工作負載,即可取得 MSVC 編譯器。在 macOS 上,於終端機執行 xcode-select --install 安裝 Xcode 命令列工具(Clang)。在 Debian 或 Ubuntu 上,使用下列指令安裝 g++ 與 CMake。
sudo apt install build-essential cmake開啟新的終端機,確認編譯器能顯示版本。在 macOS 上,g++ 指令實際上指向 Apple Clang。在 Windows 上,開啟「Developer Command Prompt for VS」並執行 cl,即可查看 MSVC 版本。
g++ --version以 C++20 標準並開啟警告選項編譯 hello.cpp,然後執行。在 Windows 上使用 MSVC 時,以 cl /EHsc /std:c++20 hello.cpp 編譯,再執行 hello.exe。
g++ -std=c++20 -Wall -Wextra -o hello hello.cpp && ./hello#include <iostream> 引入標準輸入輸出函式庫。main 函式是程式的進入點,用 << 運算子把字串送給 std::cout,就會顯示在螢幕上。return 0 告訴作業系統程式已正常結束。為 g++ 加上 -std=c++20 即依 C++20 標準編譯,接著執行產生的 hello 程式。
hello.cpp
#include <iostream>
int main() {
std::cout << "Hello, world!\n";
return 0;
}
g++ -std=c++20 -o hello hello.cpp && ./hello共六章,帶你從安裝一步步認識 C++ 的核心概念。
在這裡提問、分享經驗,交流關於 C++ 的看法。
還沒有討論。來發起第一則吧。
0 則留言
登入 · 登入後即可留言。
來留下第一則留言吧。