This question already has answers here:
Order of evaluation in C++ function parameters

(6个答案)


2年前关闭。




据我们所知,函数参数评估顺序不是由c++标准定义的。
例如:
 f(g(), h());

因此,我们知道它是未定义的。
我的问题是,为什么C++标准不能从左到右定义评估顺序?

最佳答案

因为没有充分的理由这样做。

通常,c++标准仅定义必要的内容,其余部分留给实现者。

这就是为什么它可以生成快速代码并可以在许多平台上进行编译的原因。

关于c++ - 为什么不能对函数自变量求值进行排序? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50062906/

10-11 22:09
查看更多