在研究标准时,没有关于这将如何扩展的信息。
我在 Visual Studio 2008 中尝试过,结果是 a = a * (b+c);
标准是否保证它总是扩展到那个而不是 a = a * b + c?
对于所有 C++ 标准版本,表达式是否总是这样扩展的?

谢谢。

最佳答案

是的,这是有保证的。

a::operator*=(b + c);

编辑:

优先级没有列在标准的漂亮表格中,5/4 有一个脚注说:



不过 C++ Reference 表是正确的。

关于c++ - a *= b + c 展开成什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5299321/

10-11 00:35