我遇到了一段代码,上面写着:
++myStruct->counter
Run Code Online (Sandbox Code Playgroud)
我对这里如何评估 ++ 运算符和 -> 运算符感到困惑。++ 优先于 -> 运算符并从左到右求值。看起来 ++ 运算符实际上会在 'myStruct' 上执行指针算术,而不是增加计数器成员。
++ 优先于 -> 运算符并从左到右求值。
这是不正确的 - 后缀运算符的->优先级高于一元(前缀)运算符++和--. 表达式被解析为
++(myStruct->counter)
Run Code Online (Sandbox Code Playgroud)
所以counter成员myStruct正在增加。