在C ++中(我正在学习并且仍然非常新),我注意到几乎每个人都使用int
数据类型。但为什么?我知道short
,long
和long long
几乎有明确的大小,但int
似乎可能是short
或long
在系统上。那么,为什么不让人们对这些类型更加具体呢?如果他们将一个数字放入一个对int
来说太大的short
,那么在某些系统上它会非常糟糕。如果您放入int
的数字小到足以容纳short
,那么在默认为long
内存空间的系统上会浪费。那么为什么每个人都使用int
?
答案 0 :(得分:14)
根据标准(C ++ 11,§3.9.1/ 2),
普通
int
具有建议的自然尺寸 执行环境的架构;提供其他有符号整数类型以满足特殊要求 需要。
所以int
是你应该使用的类型,除非你有充足的理由使用任何其他类型,因为int
应该映射到架构被优化以使用大多数类型的类型时间。
答案 1 :(得分:5)
您的更正是int
的大小可变。但短,长,长也有不同的大小。所以他们不是一个更好的选择。
我不会推测人们使用int
的原因,因为这只是我的观点。
如果您需要实际的真实大小的整数,则应使用int32_t
或uint32_t
或int64_t
。这些类型具有所需的尺寸。