public 导致的内存分段问题

class A

{

int a;

unsigned char b:1;

unsigned char c:1;

};

class B

{int a;

unsigned char b:1;

public:

unsigned char c:1;

};

为什么他们的size都是8?

#pragma pack(4)

public的出现并未让他们内存分段

int 是4 后面对齐就是8了 这个事实好奇怪啊

原文地址:https://www.cnblogs.com/minggoddess/p/2179362.html