首先贴出一段代码:
#include
using namespace std;
int main()
{
int a= 2, b = 3;
cout << a << endl;
cout << sizeof(a+=b) << endl;
cout << a << " " << b << endl;
return 0;
}
输出结果竟然是:
可以看到, sizeof 完全无视了 a+= b 。
其实在C++中,如果sizeof操作符的操作数为表达式,操作符只需要知道表达式的类型,从不计算表达式。
真是一个让人意想不到的绝佳BUG的潜伏地啊~~