#include <new>
#include <type_traits>
#include <iostream>

#pragma pack(push, 1)

class Haus
{
  public:
    int zimmer;
    int bad;
    int flur;
};

#pragma pack(pop)

static_assert(std::is_trivially_copyable<Haus>::value);

char memory[sizeof(Haus)] = { 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0 };

auto main() -> int
{
  const Haus& haus = *(new(memory) Haus);
  std::cout
    << haus.zimmer << "\n"
    << haus.bad << "\n"
    << haus.flur << "\n";
  haus.~Haus();
}