为什么说sizeof(variable)
是运算符,而不是函数?
它看起来像一个函数调用,当我考虑运算符的含义时,在我看来像+
or-
或*
等等
两个例子有什么区别?
示例1:
int x = int.MaxValue + 1; // Compile-time error
实施例2;
int x = int.MaxValue; x = x + 1; // no Compile-time error
《A Nutshell》一书的作者谈到第一个例子时说,在编译时计算的表达式总是进行溢出检查。
我不明白第一个例子和第二个例子之间的区别。两者都不是在编译时评估的,所以两者都应该产生相同的错误吗?