C++中的運算符(operator)是一種特殊的函數,它允許我們以簡潔的方式執行常見的操作。運算符重載允許我們為自定義類型(如類或結構體)定義運算符的行為。這在很多情況下都非常有用,例如在實現數學運算、比較操作、資源管理等場景中。
以下是一些常見的C++運算符及其用途:
算術運算符:用于執行基本的數學運算,如加法、減法、乘法、除法等。
int a = 5, b = 3;
int sum = a + b; // 加法
int diff = a - b; // 減法
int product = a * b; // 乘法
double quotient = static_cast<double>(a) / b; // 除法
比較運算符:用于比較兩個值的大小或相等性。
int a = 5, b = 3;
bool isEqual = (a == b); // 相等
bool isGreater = (a > b); // 大于
bool isLess = (a < b); // 小于
邏輯運算符:用于執行邏輯與、邏輯或和邏輯非操作。
bool a = true, b = false;
bool andResult = (a && b); // 邏輯與
bool orResult = (a || b); // 邏輯或
bool notResult = !(a); // 邏輯非
位運算符:用于執行二進制位操作,如按位與、按位或、按位異或等。
unsigned int a = 5, b = 3;
unsigned int andResult = a & b; // 按位與
unsigned int orResult = a | b; // 按位或
unsigned int xorResult = a ^ b; // 按位異或
賦值運算符:用于將一個值賦給另一個變量。
int a = 5, b = 3;
a = b; // 將b的值賦給a
一元運算符:用于執行單個操作數的操作,如取地址、解引用、遞增、遞減等。
int a = 5;
int* ptr = &a; // 取地址
int val = *ptr; // 解引用
++a; // 遞增
--a; // 遞減
通過重載這些運算符,我們可以為自定義類型提供合適的操作行為,使得這些類型在使用時更加直觀和自然。