在 C 和 C++ 中选择合适的整数类型

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

当Dennis Ritchie创建C语言时,他将int设为默认类型,int的大小没有指定,选择整数类型的准则包括使用size_t标准类型别名表示内存中的字节数,使用off_t POSIX类型别名表示磁盘上文件的大小或位置,使用intptr_t或uintptr_t类型别名表示必须与指针的确切大小相同的整数值,除非涉及特定情况,否则默认使用无符号类型。选择正确的整数类型可以向读者传递正确的信息并消除运行时检查。

🎯

关键要点

  • Dennis Ritchie创建C语言时将int设为默认类型,int的大小没有指定。

  • int的大小应为特定CPU的“自然”字长。

  • C99引入了特定大小的整数类型别名,如int32_t和uint32_t。

  • 在编程中,大多数情况下不需要负整数,通常使用无符号整数。

  • 选择正确的整数类型可以传达准确的信息,避免误导读者。

  • 表示内存中的字节数时,使用size_t标准类型别名。

  • 表示文件大小或位置时,使用off_t POSIX类型别名。

  • 表示内存中对象的计数时,也使用size_t。

  • 仅在需要特定位数或遵循特定API时,使用固定大小的整数类型别名。

  • 表示必须与指针大小相同的整数值时,使用intptr_t或uintptr_t类型别名。

  • 除非需要负值,否则优先使用int,除非需要更小或更大的值。

  • 默认情况下使用无符号类型,除非涉及特定情况。

  • 选择正确的整数类型可以消除运行时检查。

➡️

继续阅读