我认为它应该是1.因为1个字节足以容纳这个BOOL。如果我评论“BOOL b:1”,它将成为一个空结构,现在它的大小为1。
#include <iostream>
#include <string>
using namespace std;
enum BOOL { FALSE=0, TRUE=1 };
struct A {
BOOL b:1;
};
int main()
{
std::cout << sizeof(A) << std::endl; //output 4.
}
答案 0 :(得分:2)
填充。
如果您希望结构“打包”(适合内存使用,TERRIBLE以提高性能),您可以使用特定于编译器的非标准方式来请求它。