在 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,除非需要更小或更大的值。
-
默认情况下使用无符号类型,除非涉及特定情况。
-
选择正确的整数类型可以消除运行时检查。
➡️