int 在 32 位机器上相当于 int32,在 64 位机器上相当于 int64。也就是 int 的范围在不同的运行环境中不一致。
比如:一段代码在 64 位机器的开发环境下运行正确,到 32 位的生产环境就可能出问题,而使用 int64 就可以避免这个问题。
我的问题是:为什么不弃用 int,直接使用 int32 或 int64?这样能保证在不同环境下运行结果一致。而现在反而 int 用的最普遍。
int 在 32 位机器上相当于 int32,在 64 位机器上相当于 int64。也就是 int 的范围在不同的运行环境中不一致。
比如:一段代码在 64 位机器的开发环境下运行正确,到 32 位的生产环境就可能出问题,而使用 int64 就可以避免这个问题。
我的问题是:为什么不弃用 int,直接使用 int32 或 int64?这样能保证在不同环境下运行结果一致。而现在反而 int 用的最普遍。
7 回答5.3k 阅读
6 回答6.9k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答2k 阅读✓ 已解决
1 回答3.4k 阅读
2 回答877 阅读✓ 已解决
2 回答2.2k 阅读
一般对 int 变量的使用,int32 已经足够了。
如果 int32 / int64 会对程序运行结果产生影响,那么应该显示指定。但是,大多数情况下都没有必要。
另外,int 一定是 int32/in64 运算最快的那一个。所以,没有特殊需求的时候,都是 int 。
其实,64 位机一般 int 也是 int32 ,它只是地址是 64 位的。