typ*_*232 8 c c++ unsigned sizeof
C和C++是否保证类型的无符号等价物具有相同的大小?
例:
size_t size = sizeof(unsigned int);
Run Code Online (Sandbox Code Playgroud)
在unsigned这里完全实际意义?
jro*_*rok 15
两种语言都保证相应标准整数类型的有符号和无符号变体具有相同的大小.
C++,委员会草案n3337,3.9.1/3:
3对于每个标准有符号整数类型,存在相应的(但不同的)标准无符号整数类型:"unsigned char","unsigned short int","unsigned int","unsigned long int"和"unsigned" long long int",每个占用相同的存储量,并且具有与对应的有符号整数类型45相同的对齐要求(3.11); 也就是说,每个有符号整数类型具有与其对应的无符号整数类型相同的对象表示.[...]
对于C,措辞非常相似
摘自草案n1570,6.2.5/6:
对于每个有符号整数类型,存在相应的(但不同的)无符号整数类型(使用关键字unsigned指定),它使用相同数量的存储(包括符号信息)并具有相同的对齐要求._Bool类型和与标准有符号整数类型对应的无符号整数类型是标准无符号整数类型.与扩展有符号整数类型对应的无符号整数类型是扩展无符号整数类型.标准和扩展无符号整数类型统称为无符号整数类型.