c++的准备知识8

1.实际上,short是short int的简称,而long是long int的简称,但是程序设计者几乎都不用比较长的形式。
  这四种类型(int,short,long和longlong)都是符号类型,这意味这每种类型的取值范围中,负值和争
  执几乎相同例如16位int的取值范围在-32768到+32767.要知道系统中整数的最大长度,可以在程序中使用
  C++工具来检查类型的长度。首先,sizeof运算符返回类型或变量的长度,单位为字节,字节的含义依赖于
  现实,因此在一个系统中,两字节的int可能是16位,而在另一个系统中可能是32位。其次头文件climits
  中包含了关于整型限制的信息。具体的说它定义了各种限制的符号名称。例如INT-MAX为int的最大取值。


2.运算符sizeof和头文件limits。
  sizeof运算符指出,在使用8字节的系统中,int的长度为4个字节。可能对类型名或变量名使用sizeof运算符。
  对类型名使用sizeof运算符时,应将名称放在括号中,如(n-short)使用该运算符括号是可选的。
  cout<<"int is"<<sizeof (int)<<"bytrs.\n";
  cout<<"short is"<<sizeof n-short<<"bytes.\n";
  头文件climits定义了符号常量来表示类型的限制。如前面所说的,INT-MAX表示类型int能够储存的最大值,
  对于windows7系统,为2 147 483 647.编译器厂商提供了climits文件,该文件指出了其编译器中的值。
  例如在使用16位int的老系统中,climits文件将INT-MAX定义为32 767.


3.c++编译过程中,首先将源代码传递给与处理器。在这里,#define和#include一样,也是一个预处理器编译
  指令。该编译器指令告诉预处理器,在程序中查找INT-MAX,并将所有的INT-MAX都替换为32767.因此#define
  编译指令的工作方式与文本编译器或字处理器中的全局搜索替换命令相似。修改完成这些替换后编译。预处理
  器查找独立的标记,跳过嵌入单词。也就是说,预处理器不会将PINT-MAXTM替换为P32767M。也可以使用
  #define来定义自己的符号常量。然而#define编译指令是C语言遗留下来的。C++有一种更好的创建符号的方法
  所以不会经常使用#define。然而有些头文件被设计成可用于C和C++中的头文件,必须使用#define。

 

posted @ 2016-07-27 16:58  都是木头  阅读(98)  评论(0编辑  收藏  举报