#include <iostream>

struct mystruct_not_packed
{
    char a1;
    char a2;
    int a3;
};

#pragma pack(push,1)
struct mystruct
{
    char a1;
    char a2;
    int a3;
};

mystruct_not_packed object; // This doesn't apply
#pragma pack(pop)

int main(int argc, char *argv[])
{
    std::cout << sizeof(mystruct) << std::endl; // 6
    std::cout << sizeof(mystruct_not_packed) << std::endl; // 8
    std::cout << sizeof(object) << std::endl; // 8
}