C++ 作為一門強大的系統級程式語言,其標準庫(STL)提供了豐富的工具。本文整理了 C++ 入門階段的核心知識點,涵蓋輸入輸出流、字串處理、變量定義、流控制、迴圈、向量容器與異常處理,幫助初學者快速建立知識框架。
使用 cout 和 cin 需包含 <iostream> 標頭檔。為了避免每次都寫 std:: 前綴,常使用 using namespace std; 引入標準命名空間。若不使用此指令,則需完整寫出 std::cout。
C++ 允許在程式碼任何位置定義變量(就近定義),提升了可讀性。輸出操作預設會將數據存放在緩衝區中以優化效能,緩衝區會在以下情況自動刷新:
cin)flush / endlstring 類支援多種初始化方式:
const string hao = "hello" + "!!"; // 字串常量相加
const string hu = "hu" + hao; // 字串對象與常量相加,運算符重載體現
注意:不能直接用 + 連接兩個字串常量(如 "a" + "b"),至少一方必須是 string 對象。這正是運算符重載的典型應用——同一運算符根據操作數類型不同表現出不同行為。
const 關鍵字函數重載允許同名函數通過參數列表差異實現不同功能。const 修飾變量時,表示其值在生命週期內不可修改,且必須在定義時初始化。
endl:換行並刷新緩衝區setprecision(n):設定浮點數有效位數for (int i=2; i<5; ++i) 形成左閉右開區間 [2, 5),取值 2,3,4。若變量在 for 初始化語句中定義,其作用域僅限於迴圈內部。
vector 容器與算法vector 是動態陣列容器,支援隨機存取:
vector<double> homework; // 定義 double 型向量
sort(homework.begin(), homework.end()); // 非遞減排序,平均 O(N log N)
存取元素用 homework[mid],邊界檢查建議搭配 at()。
當函數無法正常返回值時,可拋出異常:
if (size == 0)
throw domain_error("median of an empty vector");
異常會沿呼叫堆疊向上傳播,直到被 catch 捕獲或導致程式終止。異常對象攜帶錯誤資訊供處理者使用。
C++ 函數只能返回單一值,需返回多值時常用:
掌握上述基礎概念是深入學習 C++ 的基石。建議多動手實驗緩衝區行為、運算符重載細節與異常傳播機制,結合《C++ Primer》系統學習。