本守则
#include <iostream>
using namespace std;
void f(int& a, const int& b){
a = 0;
a = b;
}
int main(){
int a = 1;
f(a, (int)a);
cout << a;
return 0;
}
输出:
1(g ++(4.8.1),-std = c ++ 11)
0(使用visual studio 2013)
我认为临时对象应该由(int)a创建并传递给f。
因此,如果我将a设置为0,则b不应该更改它的值,
但这显然不是VC ++的作用。