我正在寻找有关基本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(和其他类型的我没想到的),在不同的体系结构和编译器.
我正在阅读在C++中将int设置为Infinity.我明白,当一个人需要真正的无限时,一个人应该使用numeric_limits<float>::infinity(); 我猜的理由背后是通常整型已指定为用于表示如特殊状态没有价值的NaN,天道酬勤,像等IEEE 754个浮动不(再C++不强制要求既不- int与float使用都留给实现); 但max > infinity对于给定的类型,它仍然是误导性的.我试图理解标准中这个调用背后的基本原理.如果infinity对某种类型没有意义,那么不应该禁止它而不是要检查其有效性的标志吗?
const int INFINITY = INT_MAX;
Run Code Online (Sandbox Code Playgroud)
给了我
期望一个标识符
错误.你能告诉我我错过了什么吗?我试图包括<cmath>但它没有帮助.