编译器问题--请高人指点
一段C++程序
int i = 0;
i = i++;
cout < < "i value is: " < < i < < endl;
以上这段代码,在VC6下编译则打印 i value is:1
在AIX系统下使用xlC编译则打印 i value is:0
不知道是什么原因,是因为VC6不完全支持标准C++吗??
[解决办法]
我不清楚标准c++是否规定了这种表达式的计算顺序,但是如果你要编写与编译器无关的代码,就不要编写这样的表达式
[解决办法]
i = i++;不要写这样的代码
依赖于编译器