a. 出于效率考虑,应该尽量使用int与unsigned int;
typedef unsigned char ubyte; 【程序编程相关:MBGA】b. 当需要指定容量的整型时,不应该直接使用short.int.long等,因为在不同的编译器上她们的容量不相同.此时应该定义她们相应的宏或类型,比如在vc++6.0中,可以如下定义: 【推荐阅读:.NET Remoting编程简介】
typedef unsigned short int uword; 【扩展信息:TSOPII】typedef signed char sbyte;typedef signed short int sword;typedef unsigned int udword;typedef signed int sdword;typedef unsigned __int64 uqword;typedef signed __int64 sqword;然后在代码中使用 ubyte.sbyte.uword 等,这样当代码移植的时候只需要修改相应的类型即可.定义自己的类型虽然在代码移植的时候只需要修改一处即可,但仍然属于源代码级别的修改,所以 c++ 2.0 中将这些类型定义在模板中,可以做到代码移植时无需修改代码.c. 在定义char时,一定要加上 signed 或 unsigned,因为她的正负在不同的编译器上并不相同.
d. 不要想当然的以为char是1字节长,因为她的长度在不同的编译器上并不相同