[1] 假设系统为32位系统。
一.sizeof的运行机制:
"The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t. "--------MSDN
sizeof更像一个特殊的宏,它是在编译阶段求值的。不要把sizeof当成函数,也不要看作一元操作符,把他当成一个特殊的编译预处理。
举个例子:
cout<<sizeof(int)<<endl; // 32位机上int长度为4
cout<<sizeof(1==2)<<endl; // == 操作符返回bool类型,相当于 cout<<sizeof(bool)<<endl;
在编译阶段已经被翻译为:
cout<<4<<endl;
cout<<1<&