1、运算符
int x = 2;
int y = (x++) / 3;
Y 的结果为 0;
论证为什么为0的解释为(翻译以上过程):
int func(int x)
{
return x;
}
int func1(int& x)
{
int y = x;
x = x + 1;
return y;
}
void main()
{
int x = 2;
int y = func(func1(x)) / 3;
}
解析执行顺序:
=> func1(2)
=> y == 2; x == 3; return => y
=> func(2)
=> static_cast<int>(2 / 3);
=> 0