码迷,mamicode.com
首页 > 其他好文 > 详细

typedef char int8; 这样定义的好处?

时间:2017-03-19 13:59:01      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:sys   变化   get   尺寸   使用   ref   其他   art   文件中   

  用typedef定义int8代表char;然后用int8去定义其他变量。一旦系统中char不再是占8位的数据时,可重新typedef新的占8位的类型为int8,而所有的用int8定义的8为类型数不用再修改。
  随着编译器和操作系统的演化,int/long的尺寸是会变化的,例如对于32位系统,int和long都是32bit(即4字节),但是在64位系统中,int可能就是8字节。
  typedef隐藏了int32其实就是long的事实,实际上long的尺寸当然是变化的。当long尺寸不再是32bit的时候,只要重新定义一下int32,你的所有使用int32的代码就都不用改写了。 
  假定你10年后用128bit的机器,机器里sizeof(long)=32, sizeof(int)=16,sizeof(short)=8,sizeof(tiny)=4。此时只要你的头文件中 typedef long int32;改为 typedef tiny int32; 那么你所有的老代码都不再需要修改。

注:int32即 占32位的类型。

typedef char int8; 这样定义的好处?

标签:sys   变化   get   尺寸   使用   ref   其他   art   文件中   

原文地址:http://www.cnblogs.com/woaiheniunai/p/6580009.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!