一道面试题:
short s=0;
s = s + 1;
和
short s=0;
s += 1;
问题:这两个表达式有什么区别,会报什么错误?
===================================
编译结果:
在VS2005中编译,第一个编译报错,第二个没有问题.
===================================
最后的解释:
自动转换一般从低的往高的转换,所以第一个会报错。
另外++的过程是
type & operator ++(int);
type & operator +=(int);
问题原文:http://www.cnblogs.com/firstyi/archive/2007/11/28/975705.html