C+中的编译器和求值的参数顺序好的,我知道标准规定C+实现可以选择计算函数的参数的顺序,但是在实际会影响程序的场景中,是否有任何实现可以“利用”这一点呢?典型例子:int i = 0;foo(i++, i++);注意:我不是在找人告诉我,评估的顺序是不能依赖的,我很清楚这一点。我只感兴趣的是,是否有任何编译器确实按照从左到右的顺序进行计算,因为我的猜测是,如果他们做了大量编写不当的代码,就会崩溃(这是正确的,但他们可能仍会抱怨)。
3 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
编辑:
抽象机器的某些其他方面和操作在本国际标准中被描述为未指定(例如,函数的参数计算顺序)。在可能的情况下,本国际标准定义了一组允许的行为。这些定义了抽象机器的非确定性方面。因此,对于给定程序和给定输入,抽象机器的实例可以具有多个可能的执行序列。
- 3 回答
- 0 关注
- 437 浏览
添加回答
举报
0/150
提交
取消