#include <iostream>
struct S
{
S() { std::cout << "C-tor" << std::endl; }
~S() { std::cout << "D-tor" << std::endl; }
};
int main()
{
void* memory = operator new(sizeof(S));
S* p = new (memory) S();
p->~S();
operator delete(memory);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IFMKewogICAgUygpIHsgc3RkOjpjb3V0IDw8ICJDLXRvciIgPDwgc3RkOjplbmRsOyB9CiAgICB+UygpIHsgc3RkOjpjb3V0IDw8ICJELXRvciIgPDwgc3RkOjplbmRsOyB9Cn07CgppbnQgbWFpbigpCnsKICAgIHZvaWQqIG1lbW9yeSA9IG9wZXJhdG9yIG5ldyhzaXplb2YoUykpOwogICAgUyogcCA9IG5ldyAobWVtb3J5KSBTKCk7CiAgICBwLT5+UygpOwogICAgb3BlcmF0b3IgZGVsZXRlKG1lbW9yeSk7Cn0=