unsigned int 和 unsigned long比较(不考虑32位以下的平台)


如果不考虑可移植性:
在32位平台上更应该使用unsigned int,因为它:
1)和unsigned long 一样的大小,32位可以表示到42.9亿。
2) 比unsigned long更常用
3) 和std::size_t是一样的类型

如果是64位平台的话:
1) unsinged int仍是32位,而unsigned long就是64位了。
2) 更应该使用unsigned long因为处理器对64位具有更快的处理速度。

就目前而言,64位平台还不够成熟,所以向64位平台的移植基本不做考虑。

但是如果你坚持要考虑可移植性(注意是硬件32位平台向64位移植,而非软件):
1) 如果对速度敏感:使用unsigned long,无论在32位还是64位都有最快的处理速度。
2) 如果对内存敏感:使用unsigned int,使用内存量不会因平台而改变。
不过通常对于硬件平台的可移植性的考虑都是多余的(不够敏捷哦)。

posted @ 2013-04-29 11:32  tobeprogramer  阅读(1733)  评论(0编辑  收藏  举报