C++运营商"&"和"->"的优先权

Priority of C++ operators "&" and "->"

本文关键字:优先权 gt 运营商 C++      更新时间:2023-10-16

给定以下内容:

&row->count

是计算 &(行>计数)还是在C++中计算 (&row)->count?

编辑:这是一个很好的链接C++优先级。

就优先规则而言,我一直很喜欢Steve Oualline在"Practical C"中提出的规则:

中有 15 条优先规则 C (&& 在 || 之前 ?:).实用的程序员减少 这些到两个:

1)乘法和除法来了 在加法和减法之前。

2)在所有内容周围加上括号 还。

&(row->count)

这已经被问过了。但这里有一个链接。

编辑:好的,这个问题非常相似。可能还有另一个。

我可以建议你使用测试程序解决这些问题吗?这样做的好处是,您可以确定答案对于您的实施是正确的,并且您不会面临回答错误的问题的风险。

C 运算符优先级在这里解释

根据表格,-> 的优先级高于 & 运算符,因此它是 &(row->count)

&(row->count)

-> 的优先级高于 &(地址)。 因此,您的表达式将被评估为 &(行>计数)