一元减号运算符如何在C ++中与整数文字一起使用?

我读到默认情况下十进制文字是带符号的。
为简单起见,假设int可以容纳的值是整数[-128,127],而long可以容纳整数的值128。现在,如果我编写文字-128,会发生什么?我知道的是这里的字面量只是'128',它不能放入int中,而是会放入long中!或一元减号运算符还会做其他事情吗?
那么,一元减号如何与整数文字一起使用?

lichenguse 回答:一元减号运算符如何在C ++中与整数文字一起使用?

来自cppreference.com

  

整数文字的类型是该值适合的第一种类型,这取决于使用哪个数字基数和使用哪个整数后缀的类型列表。

如示例所示,使用十进制基数且不带后缀时,可能的类型为intlong intlong long int。如果该值(忽略减号)适合long但不适合int,则该值的类型为long

确定类型后,一元减号运算符将正常应用。将一元减应用于long会产生long(即使结果可能适合int)。

本文链接:https://www.f2er.com/3168804.html

大家都在问