我们提供安全,免费的手游软件下载!
本文将深入介绍指针和数组相关的运算符优先级,重点讨论左结合和右结合运算符同时存在时的结合方式,并提供代码示例展示如何使用()来强制指定结合顺序。
在C++中,指针和数组相关的运算符优先级可以分为4个级别,同级别内的运算符按照结合性依次调用。这4类运算符的优先级最高,其它的运算符优先级都比它们低:
优先级 | 运算符 | 描述 | 结合性 |
---|---|---|---|
1 | :: | 作用域解析 | 左结合 |
2 |
( )
[] . -> |
强制运算结合,函数形参列表
数组元素下标访问 类的成员访问 类指针的成员访问 |
右结合 |
3 |
(int)
* & |
强制转换
指针解引用 变量取地址 |
左结合 |
4 |
.*
->* |
类的成员函数指针
类指针的成员函数指针 |
左结合 |
在实际编程中,经常会遇到需要对运算符的结合顺序进行判断的情况,特别是当一个左结合运算符和一个右结合运算符同时存在时。以下是一些可能会引起困惑的例子:
在这种情况下,可以通过添加()来人为强制指定优先顺序。因为()是除了::以外具有最高优先级的一类运算符。
热门资讯