參考意外的輸出考慮代碼:使用通通過在C++
#include<iostream>
using namespace std;
int refcube(double &ra)
{
ra*=ra*ra;
return ra;
}
int main()
{
auto x=2.0;
cout<<"cube of "<<x<<" is "<<refcube(x)<<endl;
return 0;
}
的輸出是:
cube of 8 is 8
爲什麼的x
在第一值被顯示爲8
代替2
?
這裏的一些答案http://stackoverflow.com/questions/14809978/order-of-execution-in-operator – SnoozeTime