#include <memory>
#include <iostream>

struct Die {
  ~Die () {
    std:: cout << "dead" << std::endl;
  }
};

union Devil {
  std::unique_ptr<Die> ptr;
  Devil () {
    // initialise that later
  }
  ~Devil() {
    // .. No idea what I'm doing
  }
  int b;
};

int main () {
// ...
Devil in_detail;
in_detail.ptr = std::make_unique<Die>();
in_detail.b = 42;
}