比如:INT,BOOL,FALSE,TRUE等等等等
我只知道他们这样定义的:typedef int INT,typedef bool BOOL,#define FALSE 0,#define TRUE 1int,bool 都是C++的标准类型,这样定义不是多此一举吗?谁能告诉我为什么?

解决方案 »

  1.   

    C++标准类型,在不同系统中实现不一样,比如int在16位系统中是2个字节,在32位系统中是4个字节。使用INT,根据条件编译,实现平台无关性,比如16位系统中:
    #typedef long INT
    使用数据类型时,最好用sizeof()取得数据长度,而不要假定字节长度。
      

  2.   

    目的就是出于实现在不同系统之间的移植,正如楼上那位朋友说的!
    我们最近常用的是32位机,在这样的平台上开发,我们都知道int 类型是4个字节的,但是如果换做是16位机器或64位机器,情况就不一样了,int 就不一定是4个字节了!
    而我们在程序中要经常假定某数据类型所占的字节长度是固定不变的,因此在考虑到程序所运行的环境可能发生改变时,为了避免这个问题,就使用了大写的诸多类型!而这些类型的字节长度是固定的