編譯器將調用點直接展開函數體,避免函數調用開銷。適用於函數體短小、調用頻繁的場景。關鍵字 inline 建議編譯器內聯(非強制)。
inline int max(int a, int b) { return a > b ? a : b; }
同名函數參數列表不同(個數、類型、順序)。編譯器根據實參匹配。注意:返回類型不同不能構成重載。
int Max(double, double);
int Max(int, int);
int Max(int, int, int);
Max(3.4, 2.5); // 調用第一個
Max(2, 4); // 調用第二個
Max(1,2,3); // 調用第三個
Max(3, 2.4); // 錯誤:二義性
最右邊連續參數可指定缺省值,調用時可省略。目的:擴展功能不破壞現有調用代碼。
void func(int a, int b = 10, int c = 20);
func(1); // b=10, c=20
func(1,2); // b=2, c=20
func(1,2,3); // 全指定
類是抽象數據類型的實現,包含成員變量(屬性)和成員函數(方法)。對象是類的實例。
class Student {
string name; // 私有默認
int age;
public:
void setName(string n) { name = n; }
string getName() const { return name; }
};
這些是 C++ 核心語法基礎:內聯優化、重載多態、缺省參數擴展性、面向對象四大支柱。掌握它們是編寫高質量 C++ 代碼的前提。