gpt4 book ai didi

c++ - 操作数的求值顺序

转载 作者:IT老高 更新时间:2023-10-28 21:41:41 29 4
gpt4 key购买 nike

在表达式a + b中,是否保证ab之前被求值,或者求值顺序未指定?我认为是后者,但我很难在标准中找到明确的答案。

由于我不知道 C 处理这个问题是否与 C++ 不同,或者评估顺序规则是否在 C++11 中被简化,我将把问题标记为所有三个。

最佳答案

在 C++ 中,对于用户定义的类型 a + b 是一个函数调用,标准说:

§5.2.2.8 - [...] The order of evaluation of function arguments is unspecified. [...]

对于普通运营商,标准规定:

§5.4 - Except where noted, the order of evaluation of operands of individual operators and subexpressions of individual expressions, and the order in which side effects take place, is unspecified. [...]

这些对于 C++11 没有改变。但是,第二个中的措辞发生了变化,表示顺序是“unsequenced”而不是未指定,但本质上是相同的。

我没有 C 标准的拷贝,但我想那里也一样。

关于c++ - 操作数的求值顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7112282/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com