Прораб перестройки


template <class T, typename... Args>
void Perestroika(T & obj, Args&&... args) {
        (&obj)->~T();
        new (&obj) T(args...);
}