如果我们有这样的三个函数(foo,bar和baz)......
foo(bar(), baz())
Run Code Online (Sandbox Code Playgroud)
C++标准是否保证在baz之前评估条形码?
好吧,我知道标准规定C++实现可以选择评估函数的哪个顺序参数,但是在实际影响程序的情况下是否有任何实现"利用"它的实现?
经典示例:
int i = 0;
foo(i++, i++);
Run Code Online (Sandbox Code Playgroud)
注意:我不是在找人告诉我评估的顺序不能依赖,我很清楚这一点.我只对任何编译器是否真的按照从左到右的顺序进行评估感兴趣,因为我的猜测是,如果他们做了很多写得不好的代码就会破坏(这是正确的,但他们仍然可能会抱怨).