gpt4 book ai didi

C++ int 与 long

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:19:34 26 4
gpt4 key购买 nike

在 C++ 中,使用 long 而不是 int 有什么好处吗?

似乎 long 是 x86 和 x86_64 架构的默认字长(x86 上为 32 位,x86_64 上为 64 位,而两者上 int 均为 32 位),这在进行算术运算时(理论上)应该更快。

C++ 标准保证 sizeof(int) <= sizeof(long),但似乎 long 是 32 位和 64 位系统上的默认大小,因此应尽可能使用 long 而不是 int试图编写可在两种架构上移植的代码?

最佳答案

long 保证至少为 32 位,而 int 仅保证至少为 16 位。在编写完全可移植的程序时,您可以在 int 的保证大小不足以满足您的需求时使用 long

但在实践中,许多人隐含地假设 int 大于标准保证,因为他们只针对此类平台。在这些情况下,它通常无关紧要。

int 应该是系统数字的“自然”大小;理论上 long 可能更昂贵,但在许多架构上 long 上的操作并不更昂贵,即使 long 实际上比 int 长

关于C++ int 与 long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11682643/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com