为何要定义 int32
为什么要定义 int32既然已经有long 和int 类型, 为什么又再定义int32去用? 有些地方为什么要用int32, 用lo
为什么要定义 int32
既然已经有long 和int 类型, 为什么又再定义int32去用? 有些地方为什么要用int32, 用long或int 代替不行吗?
[解决办法]
long和int是多少字节的?
[解决办法]
int的大小是不固定的,而int32可以确保随着编译器变化,这个类型大小不变化
[解决办法]
恩,2楼基本上都说了
[解决办法]
随着编译器和操作系统得演化,int/long得尺寸是会变化得,例如对于32位系统,int和long都是32bit得,但是在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//假定有个新的tiny类型,只要你的头文件中
typedef long int32;改为
typedef tiny int32;
你所有的老代码都不再需要修改
[解决办法][解决办法][解决办法][解决办法]移植.
[解决办法]顶了
[解决办法]mark
[解决办法]LS都说完了。
[解决办法]结论已经很明了了.
[解决办法]MARK
[解决办法]int32 32就是让它一定是32~
[解决办法]嗯嗯,该结贴了,^_^
[解决办法]mark
[解决办法]1 移植方便
2 更加直观
[解决办法]int, long的大小根据机器字长的不同而变化,再定义后大小就被固定了,各编译器间将没有差异。
[解决办法]明确标明32位,int等是不固定了。
[解决办法]只有32位机的int是32位的。
[解决办法]学习
[解决办法][解决办法]大牛大牛,每天进步啊
------解决方案--------------------
好像是备用的,
[解决办法]代码重构,降低修改成本。
[解决办法]mark学习一下
[解决办法][解决办法]都被楼上的说完了好像
[解决办法]明了了
[解决办法]32位机,64位机
便于移植