на жизнь?
template <typename T, typename... Args>
inline void replace(T& object, Args&&... args)
{
try
{
object.~T();
}
catch (...)
{
new (&object) T(args...);
throw;
}
new (&object) T(args...);
}
Где вы взяли деструктор, бросающий исключения?
И вот интересно, как быть если placement new будет бросаться.
в любом случае, ваш код забагован в С++17, там надо прачечных ставить
Обсуждают сегодня