鉴于以下情况:
&row->count
会在 C++ 中评估 &(row->count) 还是评估 (&row)->count?
编辑:这是 C++ 优先级的一个很好的链接。
就优先规则而言,我一直很喜欢 Steve Oualline 在“Practical C”中提出的规则:
C 中有 15 条优先规则(&& 在 || 之前 ?:)。实用的程序员将这些减少到两个:
1)乘法和除法在加法和减法之前。
2)在其他所有内容周围加上括号。
这里解释了 C 运算符的优先级
根据表格, -> 的优先级高于 & 运算符,所以它是 &(row->count)
我可以建议您使用测试程序解决这些问题吗?这样做的好处是您将确定答案对于您的实施是正确的,并且您不会面临问题回答错误的风险。
&(行->计数)
-> 具有比 &(地址)更高的优先级。所以你的表达式将被评估为 &(row->count)