e.g。
int a = 3;
int b = sizeof(++a);
int c = a;
结果c等于3或4吗? 结果是否取决于特定的编译器?
答案 0 :(得分:0)
规范规定,增量运算符 NOT 在sizeof
运算符中使用时会生效。
从抽象的角度来看,这也是有道理的。具体来说,sizeof
运算符返回对象使用的字节数。虽然递增一个整数甚至一个指针确实 NOT 改变了整数的大小,但++运算符会误导新程序员认为大小确实发生了变化。
如果有兴趣查找主题“副作用”,可以进一步讨论这个主题。