#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();
}
I2luY2x1ZGUgPG5ldz4KI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgojaW5jbHVkZSA8aW9zdHJlYW0+CgojcHJhZ21hIHBhY2socHVzaCwgMSkKCmNsYXNzIEhhdXMKewogIHB1YmxpYzoKICAgIGludCB6aW1tZXI7CiAgICBpbnQgYmFkOwogICAgaW50IGZsdXI7Cn07CgojcHJhZ21hIHBhY2socG9wKQoKc3RhdGljX2Fzc2VydChzdGQ6OmlzX3RyaXZpYWxseV9jb3B5YWJsZTxIYXVzPjo6dmFsdWUpOwoKY2hhciBtZW1vcnlbc2l6ZW9mKEhhdXMpXSA9IHsgMSwgMCwgMCwgMCwgMiwgMCwgMCwgMCwgMywgMCwgMCwgMCB9OwoKYXV0byBtYWluKCkgLT4gaW50CnsKICBjb25zdCBIYXVzJiBoYXVzID0gKihuZXcobWVtb3J5KSBIYXVzKTsKICBzdGQ6OmNvdXQKICAgIDw8IGhhdXMuemltbWVyIDw8ICJcbiIKICAgIDw8IGhhdXMuYmFkIDw8ICJcbiIKICAgIDw8IGhhdXMuZmx1ciA8PCAiXG4iOwogIGhhdXMufkhhdXMoKTsKfQ==