gcc上面的引用传参与左加加优化问题
int TestFunc(int& var1,char* var2){
var2[var1++]=++var1;
}
int main(){
int a=0;
int c=0;
char b[4]={0};
TestFunc(a,b);
b[c++]=++c;
cout<<a<<endl;
cout<<c<<endl;
}
在VS2010上面跑,ac均为2,这个结果比较容易接受,因为TestFunc第一个参数传的是引用,但是在gcc上,a=1,c=2.这个就比较郁闷了,所以我想问一下,gcc上为什么会出现这个情况,它采用了什么优化措施没?
甜蜜的死亡
10 years, 5 months ago