我正在寻找有关基本C++类型大小的详细信息.我知道这取决于架构(16位,32位,64位)和编译器.
但是有没有C++的标准?
我在32位架构上使用Visual Studio 2008.这是我得到的:
char : 1 byte
short : 2 bytes
int : 4 bytes
long : 4 bytes
float : 4 bytes
double: 8 bytes
Run Code Online (Sandbox Code Playgroud)
我试图找到,但没有成功,可靠的信息,表述的大小char,short,int,long,double,float(和其他类型的我没想到的),在不同的体系结构和编译器.
我想知道为什么 int 的大小取决于 C 和 C++ 中使用的操作系统。如果指针的大小不同是可以的,但是为什么整数的大小不同呢?如果 16 位操作系统 sizeof(int) = 2 字节,则对于 32 位操作系统 sizeof(int) = 4 字节。为什么这样?
谢谢。
我的c ++代码中有一堆int,我需要更改为int32.和我的布尔相同.为了使用int32和bool32,我需要包含哪个头.一旦我制作它们,我该如何声明它们.我能用int32替换int吗?
例如:
int x;
Run Code Online (Sandbox Code Playgroud)
变
int32 x;
Run Code Online (Sandbox Code Playgroud)
当我尝试从int更改为int32时,我遇到了很多错误.这里有几个:
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2086: 'const int x' : redefinition