C ++中的无符号关键字

在C ++中,unsigned关键字是否默认为特定的数据types? 我正在为原型编写一个类的函数:

unsigned Rotate(unsigned object, int count) 

但是我真的不知道什么是unsigned意思。 不应该像unsigned int或东西?

从上面的链接 :

这些types中的几个可以使用关键字signed,unsigned,short和long进行修改。 当这些types修饰符之一本身被使用时,假定int的数据types

这意味着你可以假设作者正在使用整数。

整数types:

 short -> signed short signed short unsigned short int -> signed int signed int unsigned int signed -> signed int unsigned -> unsigned int long -> signed long signed long unsigned long 

小心char:

 char (is signed or unsigned depending on the implmentation) signed char unsigned char 

unsigned关键字是否默认为C ++中的数据types

是的,有符号和无符号也可以用作独立types说明符

整型数据typeschar,short,long和int可以是有符号的或无符号的,这取决于需要表示的数字的范围。 签名types可以表示正值和负值,而无符号types只能表示正值(和零)。

包含n位的无符号整数可以具有0到2 n – 1之间的值(这是2 n个不同的值)。

但是,signed和unsigned也可以用作独立types说明符,分别与signed int和unsigned int相同。 以下两个声明是等价的:

 unsigned NextYear; unsigned int NextYear; 

您可以阅读关于在C ++参考中无符号的关键字。

在这个问题上有两种不同的types,签署和未签署。 整数的默认值是有符号的,这意味着它们可以有负值。

在32位系统上,整数是32位,这意味着它可以包含大约40亿的值。

而当它签署的时候,这就意味着你需要分割它,留下 – 20亿到20亿。

当它是无符号的,但值不能包含任何负数,因此对于整数这将意味着0至40亿。

维基百科上有更多的信息。

是的,这意味着unsigned int 。 它曾经是,如果你没有在C中指定一个数据types,有很多地方只是假设int 。 这是尝试,例如,函数返回types。

这个疣几乎已经根除,但你在这里遇到最后的遗迹。 恕我直言,代码应该固定说unsigned int以避免只是你遇到的混乱。