目录

  1. 运算符概述
  2. 算术运算符
  3. 关系运算符
  4. 逻辑运算符
  5. 位运算符
  6. 赋值运算符
  7. 自增/自减运算符
  8. 条件运算符
  9. 类型转换运算符
  10. 逗号运算符
  11. 指针运算符
  12. 索引运算符
  13. 函数调用运算符
  14. 其他运算符
  15. 参考资料

1. 运算符概述

运算符是 C++ 中用于执行特定操作的符号。运算符可以作用于变量、常量、表达式等数据,以执行相应的操作。

C++ 中的运算符可以分为多种类型,包括:

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 赋值运算符
  • 自增/自减运算符
  • 条件运算符
  • 类型转换运算符
  • 逗号运算符
  • 指针运算符
  • 索引运算符
  • 函数调用运算符
  • 其他运算符

2. 算术运算符

算术运算符用于执行常见的数学操作。

运算符作用示例
+加法a + b
-减法a - b
*乘法a * b
/除法a / b
%取余(模)a % b

示例:

int a = 10, b = 5;
int sum = a + b;  // sum = 15
int remainder = a % b;  // remainder = 0


3. 关系运算符

关系运算符用于比较两个值的大小,返回布尔值 truefalse

运算符作用示例
==等于a == b
!=不等于a != b
>大于a > b
<小于a < b
>=大于或等于a >= b
<=小于或等于a <= b

示例:

int a = 10, b = 5;
bool result = (a > b);  // result = true


4. 逻辑运算符

逻辑运算符用于组合多个布尔表达式,返回一个布尔结果。

运算符作用示例
&&逻辑与(AND)a && b
``
!逻辑非(NOT)!a

示例:

bool a = true, b = false;
bool result = (a && b);  // result = false


5. 位运算符

位运算符用于处理二进制位。

运算符作用示例
&按位与a & b
``按位或
^按位异或a ^ b
~按位取反~a
<<左移a << 2
>>右移a >> 2

示例:

int a = 5;  // 二进制 0101
int b = 3;  // 二进制 0011
int result = a & b;  // result = 1 (二进制 0001)


6. 赋值运算符

赋值运算符用于将右侧的值赋给左侧的变量。

运算符作用示例
=赋值a = b
+=加法赋值a += b
-=减法赋值a -= b
*=乘法赋值a *= b
/=除法赋值a /= b
%=取余赋值a %= b

示例:

int a = 10;
a += 5;  // a = 15


7. 自增/自减运算符

自增运算符 ++ 和自减运算符 -- 用于将变量的值增加或减少 1。

运算符作用示例
++自增a++++a
--自减a----a

示例:

int a = 5;
a++;  // a = 6
++a;  // a = 7


8. 条件运算符

条件运算符(也叫三元运算符)用于根据条件选择两个值中的一个。

运算符作用示例
?:条件运算符a ? b : c

示例:

int a = 5, b = 10, c = 20;
int result = (a < b) ? b : c;  // result = 10


9. 类型转换运算符

类型转换运算符用于将一个数据类型转换为另一个数据类型。

运算符作用示例
(type)强制类型转换(int) 3.14
static_cast<type>()静态类型转换static_cast<int>(3.14)
dynamic_cast<type>()动态类型转换(用于继承关系)dynamic_cast<Derived*>(basePtr)
reinterpret_cast<type>()重新解释类型转换reinterpret_cast<char*>(ptr)
const_cast<type>()去除常量限定符const_cast<int*>(ptr)

示例:

float a = 3.14;
int b = (int) a;  // 强制类型转换,b = 3


10. 逗号运算符

逗号运算符允许在一个表达式中执行多个操作,并返回最后一个操作的结果。

运算符作用示例
,逗号运算符a = (b = 10, b + 5)

示例:

int a, b;
a = (b = 10, b + 5);  // b = 10, a = 15


11. 指针运算符

指针运算符用于操作指针类型的变量。

运算符作用示例
&取地址运算符&a
*解引用运算符*ptr

示例:

int a = 5;
int* ptr = &a;  // ptr 存储 a 的地址
int value = *ptr;  // value = 5


12. 索引运算符

索引运算符用于访问数组或容器中的元素。

运算符作用示例
[]数组索引arr[i]

示例:

int arr[] = {1, 2, 3};
int x = arr[1];  // x = 2


13. 函数调用运算符

函数调用运算符用于调用函数。

运算符作用示例
()函数调用func()

示例:

void func() {
    std::cout << "Hello, world!" << std::endl;
}
func();  // 调用函数


14. 其他运算符

  • 成员访问运算符.(点运算符)、->(箭头运算符)
  • 条件运算符sizeof(获取变量大小)

15. 参考资料


总结

C++ 中的运算符是执行各种操作的基本工具,涉及到数学、逻辑、位操作、赋值、类型转换等多个方面。合理使用这些运算符,可以让代码更加简洁和高效。通过掌握不同类型的运算符,可以提升编程技能,并使程序更具可读性和性能优化。