C++中int,Uint,uint16等有什么区别以及用处

在C++中,既然有了int,为什么还要有uint?特别是uint16,uint32等又有什么用?他们有什么区别?

---------------------------------------------------------------------------------------------------------------------

int是C/C++数据类型,uint,uint16,uint32并不是C/C++内建的类型,而只是一些typedef。可能的定义如下:
typedef unsinged int uint;//为了省事啊,这样不用写unsigned int而只需要写uint
typedef unsigned short uint16;//int的size取决于平台,比如16位平台上sizeof(16)为2,32为上为4,64位上为8
// 而short的size则保证为2字节,在需要明确指明数据大小时可以使用
typedef unsigned long uint32;//道理同上,sizeof(long)一定为32,看看,在64位机上sizeof(long) <sizeof(int)
---------------------------------------------------------------------------------------------------------------------

大小的区别:

int就是一个机器字长;
uint就是一个无符号的int;
uint16就是一个无符号的16位整型;
uint32就是一个无符号的32位整型;

你可能感兴趣的:(C++)