【发布时间】:2013-06-04 16:30:24
【问题描述】:
当我用谷歌搜索这个时,我总是得到关于评估顺序的线程,一般来说,评估顺序是未指定的。
我知道参数评估顺序在C中一般是未指定的。
我的问题是gcc中的参数评估顺序,从左到右还是从右到左?
任何资源链接也将不胜感激......
编辑:消除问题中的歧义
嗯,我说的是当时的情况
foo(1+2,2+3,4+9)
首先评估哪个?
是 1+2 还是 4+9... 一样明智..
我们可以通过在一个 gcc 编译器中编译它来进行声明吗....?还是在不同的 gcc 版本之间也不同?
【问题讨论】:
-
可能无法保证两者都具有确定性。
-
这个参考是为了评估顺序写的en.cppreference.com/w/cpp/language/eval_order
-
@FAST 我说的是 C,你的意思是 g++ 和 gcc 也一样?
-
@pinkpanther C版的评估规则很相似:en.cppreference.com/w/c/language/eval_order
标签: c operator-precedence