【发布时间】:2012-09-22 03:25:12
【问题描述】:
标准没有用这一行指定参数的评估顺序:
参数的评估顺序未指定。
做什么
在没有限制的情况下可以生成更好的代码 表达式求值顺序
暗示?
例如,要求所有编译器从左到右评估函数参数有什么缺点?由于这个未指定的规范,编译器会执行哪些类型的优化?
【问题讨论】:
-
允许编译器重新排序操作数的求值增加了更多优化空间。
-
@Mysticial:看起来很荒谬,这应该是一个答案,实际上是接受的答案!
-
编译器执行了哪些优化?
-
如果我能想到一个例子,我会给出答案。
-
一些调用约定从右到左传递参数。其他人从左到右传递。有时按照推送的相同顺序进行评估会更有效。