根据 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/
任何人都可以指出我提到字节中位数的位置吗?
我想编写一个测试来检测枚举的基础类型,并且该测试用例应该与编译器无关。
我不能使用std::underlying_type,__underlying_type以及其他编译器具体实施