c ++偏好顺序..这个表达式是如何评估的?

1 c++

我试图理解我使用的一个模拟工具的某些库的代码..它有以下行:

propData->fadingStretchingFactor =
        (double)(propProfile0->samplingRate) *
        propProfile->dopplerFrequency /
        propProfile0->baseDopplerFrequency /
        (double)SECOND;
Run Code Online (Sandbox Code Playgroud)

现在,如果在这个例子中有两个连续的除法运算符,你如何计算运算的顺序

eph*_*ent 6

分工是左联的. a / b / c相当于(a / b) / c.

需要注意的是C(和C++)不保证条款的评估之间的顺序a,bc.例如,foo() / bar()可以foo()在之前bar()foo()之后打电话bar().

  • @OliCharlesworth:不,行为未指明.未定义的行为意味着任何事情都可能发生,但事实并非如此.要么先调用foo,要么首先调用bar,这些调用不会交织在一起. (2认同)