【发布时间】:2013-07-18 15:06:00
【问题描述】:
我知道两者是不同的类型(signed char 和 char),但是我公司的编码指南指定使用 int8_t 而不是 char。
所以,我想知道,为什么我必须使用int8_t 而不是char 类型。有没有使用int8_t的最佳实践?
【问题讨论】:
-
如果我没记错的话,
char不能保证正好是 8 位,它恰好是在大多数现代系统上。 -
int8_t 与平台无关,请参阅编译器中的 stdint.h 文件。
-
@JoachimPileborg 保证
char是一个字节长度。因此,char中的位数取决于特定系统的字节数。 -
@suspectus:学究式地,对于定义它的任何平台。有些平台不支持 8 位类型。
-
您不应该问问贵公司的其他人这些准则背后的基本原理是什么吗?