gpt4 book ai didi

c - "long"在 C 中仍然有用吗?

转载 作者:太空狗 更新时间:2023-10-29 16:29:43 26 4
gpt4 key购买 nike

  • 它不再是最大的整数类型,因为有了“long long”。
  • 它不是固定宽度的类型:它在某些平台上是 32 位,在其他平台上是 64 位。
  • 不一定与指针大小相同(例如,在 64 位 Windows 上)

那么,“长”还有意义吗?是否有理由声明一个 long 而不是 ptrdiff_t 或 int64_t?

最佳答案

Is there ever a reason to declare a long instead of a ptrdiff_t or int64_t?

在那些情况下从来没有。如果你想要一个指针差异,或者一个特定的 64 位值,你应该使用 ptrdiff_tint64_t。你一开始就不应该使用 long,除了可能在依赖于平台的 typedef 之后。

当您需要至少 32 位整数时,您应该使用 long,因为 int 仅保证至少为 16 位。如果您需要 native 类型,但至少需要 32 位,请使用 long。如果 16 位限制在某些旧平台上是可以接受的(这可能无关紧要,并且您的代码可能永远不会被编译),那么它并不特别重要。

关于c - "long"在 C 中仍然有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2398262/

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