She*_*owu 4 c++ sequence-points
并且f(x)+(g(y))可以确保g(y)先打电话吗?我知道表达式中的顺序在很多情况下是未定义的,但在这种情况下括号是否有效?
Joh*_*nck 12
看马,两行!
auto r = g(y);
f(x) + r;
Run Code Online (Sandbox Code Playgroud)
这引入了两个函数调用之间最重要的序列点.可能还有其他方法可以做到这一点,但这种方式似乎很简单明了.请注意,您的括号不会引入序列点,因此不是解决方案.