C++运算符是编程语言中不可或缺的部分,它们用于执行各种计算和控制流程。这份"C++运算符表格大全.pdf"文件提供了全面的C++运算符清单,涵盖了从基本算术运算到复杂的逻辑和位操作,以及流程控制和内存管理。下面我们将深入探讨这些运算符。
1. **域运算符::** 用于访问类的静态成员或作用域内的变量或函数,如`class::member`。
2. **数组下标运算符[]**:用于访问数组中的元素,如`array[index]`。
3. **括号()**:用于函数调用`function(args)`,以及创建对象`new Type()`。
4. **成员运算符->**:用于访问结构体或类的对象的成员,如`ptr->member`。
5. **自增运算符++**:前置`++var`在使用前增加,后置`var++`在使用后增加。
6. **自减运算符--**:同理,前置`--var`在使用前减少,后置`var--`在使用后减少。
7. **指向成员运算符->***:用于访问指向结构体或类的指针的成员,如`ptr->*member`。
8. **负号运算符-**:对数值取负,如`-num`。
9. **正号运算符+**:通常用于确保正数,如`+num`,但在此列表中似乎没有实际作用。
10. **释放空间运算符delete**:用于释放动态分配的内存,如`delete ptr`。
11. **动态分配空间运算符new**:为对象或数组分配内存,如`new Type`或`new Type[size]`。
12. **强制类型转换运算符**:允许显式转换类型,如`(Type)expression`。
13. **指针运算符* (解引用)**:访问指针所指向的值,如`*ptr`。
14. **取地址运算符&**:获取变量的地址,如`&var`。
15. **逻辑非运算符!**:对布尔值进行逻辑否定,如`!bool_expr`。
16. **按位取反运算符~**:对二进制数进行按位取反,如`~bin_num`。
17. **长度运算符sizeof**:返回数据类型或表达式的字节数,如`sizeof(type)`。
18. **乘法运算符*,除法运算符/,求余运算符%**:进行乘法、除法和求余操作,如`a * b`, `a / b`, `a % b`。
19. **加法运算符+,减法运算符-**:执行加法和减法,如`a + b`,`a - b`。
20. **按位左移运算符<<,按位右移运算符>>**:对二进制数进行位移,如`a << n`,`a >> n`。
21. **大于运算符>,大于等于运算符>=,小于运算符<,小于等于运算符<=**:比较操作,如`a > b`,`a >= b`,`a < b`,`a <= b`。
22. **等于运算符==,不等于运算符!=**:判断相等和不等,如`a == b`,`a != b`。
23. **按位与运算符&**:执行按位与操作,如`a & b`。
24. **按位异或运算符^**:执行按位异或操作,如`a ^ b`。
25. **按位或运算符|**:执行按位或操作,如`a | b`。
26. **逻辑与运算符&&**:短路逻辑与,如`a && b`。
27. **逻辑或运算符||**:短路逻辑或,如`a || b`。
28. **条件运算符(三目)?**:条件判断,如`condition ? expr1 : expr2`。
29. **赋值运算符=**:将右边的值赋给左边的变量,如`a = b`。
30. **除后赋值运算符/=,乘后赋值运算符*=,求余后赋值运算符%=,加后赋值运算符+=,减后赋值运算符-=,左移后赋值运算符<<=,右移后赋值运算符>>=,按位与后赋值运算符&=,按位异或后赋值运算符^=,按位或后赋值运算符|=**:进行复合赋值,如`a /= b`,`a *= b`,`a %= b`,`a += b`,`a -= b`,`a <<= b`,`a >>= b`,`a &= b`,`a ^= b`,`a |= b`。
31. **抛出异常运算符throw**:在程序中引发异常,如`throw exception`。
32. **逗号运算符,**:从左到右依次执行表达式,并返回最后一个表达式的值,如`expr1, expr2`。
这些运算符的优先级和结合方向对于理解C++表达式的计算顺序至关重要。理解这些运算符可以帮助编写更有效和可读的代码。记住,正确使用括号可以明确优先级并避免混淆。在编写C++程序时,熟练掌握这些运算符的使用是至关重要的。