三年游戏人 2015-09-08 15:32 采纳率: 50%
浏览 2883

c++ int类型长度选择问题

书中这样说:“c++提供了大量的整形,应使用那种类型呢?通常,int被设置为对目标计算机而言最为”自然“的长度,”
这句话怎么理解??
被谁设置的呢?

  • 写回答

4条回答 默认 最新

  • threenewbee 2015-09-08 15:49
    关注

    计算机不是书呆子设计的,你也不能用书呆子的方式学习。

    为什么早期编译器的int值随着编译器产生代码的延长而延长,这是考虑到对原有的程序,不加修改,就可以自然获得更好的性能。

    为什么现在的编译器又不遵循这个规则了,是因为出于向前兼容的需要。作为一种语言,数据类型随意变化是不好的。特别是32bit编译器存在了将近20年的时间。
    比如说分配内存,很多人已经习惯了将int当作4字节使用了。历史包袱在那里。如果编译器将int升级到64bit,一些老的程序就会引入bug。

    评论

报告相同问题?