类型的宽度随显示而异,这可能在将C++程序从一种环境移到另一种环境(包括在同一个系统中使用不同编译器)是引发的问题。但只要小心一点(如本章后面讨论的那样),就可以最大限度地减少这种问题。
可以像使用int一样,使用这些类型名来声明变量:
short score; int temperature; long position;
实际上,short是short int 的简称,而long是long int的简称,但是程序设计者们几乎都不使用比较长的形式。
这4种类型(int、short、long和long long)都是符号类型,这意味着每种类型的取值范围中,负值和正值几乎相同。例如,16位的int的取值范围-32768到+32767。
要知道系统中整数的最大长度,可以在程序中使用C++工具来检查类型的长度。首先sizeof运算符返回类型或变量的长度,单位为字节(运算符是内置的语言元素,对一个或多个数据进行运算,并生成一个值。例如,加号运算符+将两个值相加)。前面说过,“字节”的含义依赖于实现,因此在一个系统中,两字节的int可能是16位,而在另一个系统中可能是32位。其次,头文件climits(在老式实现中为limits.h)中包含了关于整数限制的信息。具体地说,它定义了表示各种限制的符号名称。例如,INT_MAX为int的最大取值,CHAR_BIT为字节的位数。程序3.1演示了如何使用这些工具。该程序还演示如果初始化,即使用声明语句将赋值给变量。
程序3.1 limits.cpp
//limits.cpp——some integer limits #include#includeint main() {	using namespace std;	int n_int=INT_MAX;	short n_short=SHRT_MAX;	long n_long=LONG_MAX;	long long n_llong=LLONG_MAX;	cout