【发布时间】:2020-06-30 10:32:22
【问题描述】:
考虑这个类:
class C3
{
public:
uint16_t p1;
uint16_t p2;
uint8_t p3;
};
sizeof(C3) 是 6。是否有任何编译器例程可以绕过对齐并强制其大小为5?我尝试使用alignas 没有成功...
【问题讨论】:
-
这能回答你的问题吗? Force C++ structure to pack tightly
-
您的标题具有误导性。您的结构已对齐。每个成员都由编译器对齐,并且需要填充以确保自动插入对齐。从你的问题很明显,你想要的是 not 对齐,而是一个没有填充的 packed 结构。
标签: c++ c++11 visual-studio-2015