开发者

c++ order of preference.. how is this expression evaluated?

I am trying to understand code of some library of one simulation tool that i use.. It has the following line:

propData->fadingStretchingFactor =
        (double)(propProfile0->samplingRate) *
        propProfile->dopplerFrequency /
        propProfile0->baseDopplerFrequency /
        (double)SECOND;

Now how do u figure out the orde开发者_如何学Gor of operations if there are two consecutive division operators as in this example


Division is left associative. a / b / c is equivalent to (a / b) / c.

Note that C (and C++) do not guarantee any ordering between the evaluations of the terms a, b, and c. For example, foo() / bar() could call foo() before bar() or foo() after bar().


The grouping of operations of equal precedence is determined by operator associativity.

In C++, division is left-associative, which means that the leftmost operation is grouped first, i.e.:

a / b / c

is the same as:

(a / b) / c


Left to right associativity

http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Operator_precedence

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜