#include #include struct Foo { Foo() { std::cout << "Foo::Foo" << std::endl; } ~Foo() { std::cout << "Foo::~Foo" << std::endl; } int x; }; int main(int argc, char** argv) { char buf[sizeof(Foo)]; Foo* fp = new (buf) Foo; fp->~Foo(); return 0; }