是什麼評價化合物表達順序時和關聯性之間的區別?
在以下示例中,我沒有看到表達式的result
上的順序的影響。 result
始終爲3
,因爲算術運算符是左關聯的,函數將從左到右調用。
#include <iostream>
using std::cout;
using std::endl;
int Func1(int &i)
{
return i;
}
int Func2(int &i)
{
return i++;
}
int main()
{
for (int index = 0; index < 999999999; index++)
{
int i = 0;
int result = (Func2(i) + Func1(i) + Func1(i) + Func2(i));
cout << result << endl;
}
}
@Charles:我認爲,這不是重複的。 'cout'情況下的順序是明確的! – Nawaz 2011-02-25 10:07:58
@Nawaz:這是完全一樣的問題。 '+'的關聯性也是明確的。 – 2011-02-25 10:24:19
@Nawaz評估的順序在'cout'的情況下也沒有很好的定義。 – 2011-02-25 10:24:37