是int隐式签名(C ++)?

时间:2014-05-04 09:20:11

标签: c++ int unsigned signed

在C ++中,当我说int i = 0;

现在是自动signed int i = 0;unsigned int i = 0;

我还没有通过Google找到答案

3 个答案:

答案 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