C++中的运算符(operator)是一种特殊的函数,它允许我们以简洁的方式执行常见的操作。运算符重载允许我们为自定义类型(如类或结构体)定义运算符的行为。这在很多情况下都非常有用,例如在实现数学运算、比较操作、资源管理等场景中。
以下是一些常见的C++运算符及其用途:
-
算术运算符:用于执行基本的数学运算,如加法、减法、乘法、除法等。
int a = 5, b = 3; int sum = a + b; // 加法 int diff = a - b; // 减法 int product = a * b; // 乘法 double quotient = static_cast
(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; // 递减
通过重载这些运算符,我们可以为自定义类型提供合适的操作行为,使得这些类型在使用时更加直观和自然。