gpt4 book ai didi

c++ - __int 和 "char, short, int, long long int"有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 21:02:47 25 4
gpt4 key购买 nike

我很惊讶地发现我的 C++ 编译器还支持 __int8__int16__int32__int64;但我只看到它们等同于 charshortintlong long。它们有什么区别?

sizeof(__int8) == sizeof(char) == 1
sizeof(__int16) == sizeof(short) == 2
sizeof(__int32) == sizeof(int) == 4
sizeof(__int64) == sizeof(long long) == 8

最佳答案

基本类型的大小 int , char , short , long等是实现定义的,并且可能因系统而异。您所得到的保证是

  • sizeof(char) == 1 , 和
  • sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) .

因此,许多平台提供了它们自己的自定义、不可移植的类型,这些类型保证是给定的大小。例如,我相当有信心 Microsoft 保证 __int8总是八位,__int16总是 16 位等。

希望这对您有所帮助!

关于c++ - __int<size> 和 "char, short, int, long long int"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14785211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com