根据C++规范,一个字节至少能够包含基本执行字符集(2.3)中的任何成员和Unicode UTF-8编码形式的八位代码单元,并由一系列连续的比特组成,其数量由实现定义。这意味着,一个字节中的比特数必须是8位或大于8位。现在,根据gcc的规定,比特数由ABI确定。
4.4 字符
一个字节中的比特数(C90 3.4,C99 和 C11 3.6)。
由ABI确定
GCC基于ABI - http://itanium-cxx-abi.github.io/cxx-abi/。
有人能指出字节中比特数提到的位置吗?
char
是什么。在奇怪的机器上,char
可能是24位。 - Basile Starynkevitch