在C ++中,当我说int i = 0;
现在是自动signed int i = 0;
或unsigned int i = 0;
?
我还没有通过Google找到答案
答案 0 :(得分:9)
C ++ 11标准(draft)§3.9.1.2就是这样说的;
有五种标准的有符号整数类型:“signed char”,“short int”,“int”,“long int”和“long long int”。
C11标准(draft)§6.2.5.4可以这样说;
有五种标准的有符号整数类型,指定为signed char,short int, int ,long int和long long int
似乎他们都同意 int 是签名类型。
(C89§3.1.2.5也同意,所以就我可以回去而言似乎就是这样)
答案 1 :(得分:0)
它签了名。您可以通过递减整数并查看提供的负值来证明这一点,而不是将其回绕到无符号整数的最大数。
答案 2 :(得分:-2)
默认情况下,它在c ++中是signed int