正如文档中已经讨论的那样,bool
数据类型至少占用一个字节的内存。之前在 SO 上提出了一个类似的问题(如何将布尔类型变量存储在内存中?(C++)),但是这个讨论和文档似乎只讨论布尔数据类型占用的空间量,而不是实际发生的情况我这样做时的记忆:
bool b = true;
那么内存中究竟发生了什么?未用于存储此信息的 7 位会发生什么?标准是否为此规定了行为?
它们是未定义的吗?或者 C++ 总部的某个人只是这样做:
enum bool : char
{
false = 0,
true = 1
};