Ale*_*lex 46 c++ size types integer
考虑到以下语句返回4,C++中的int和long类型之间有什么区别?
sizeof(int)
sizeof(long)
Run Code Online (Sandbox Code Playgroud)
Dan*_*son 42
标准给你的保证是这样的:
1 == sizeof(char) <= sizeof(short) <= sizeof (int) <= sizeof(long) <= sizeof(long long)
Run Code Online (Sandbox Code Playgroud)
所以它完全有效sizeof (int)并且sizeof (long)平等,许多平台选择采用这种方法.你会发现一些平台int是32位,long是64位,long long是128位,但似乎很常见的sizeof (long)是4.
(注意,long long从C99开始在C中识别,但通常在C++ 11之前作为C++中的扩展实现.)
Jon*_*ler 17
您使用的是32位计算机或64位Windows计算机.在我的64位机器上(运行Unix衍生的操作系统,而不是Windows)sizeof(int) == 4,但是sizeof(long) == 8.
它们是不同的类型 - 有时彼此相同,有时不相同.
(在真正的过去,sizeof(int) == 2以及sizeof(long) == 4-尽管这可能是以前的C++存在的几天来,对想起来还,在技术上,它是一个合法的配置,虽然在嵌入式领域的不同寻常之外,相当甚至可能是不寻常的.嵌入式空间.)