C++, гарантии исключений при перемещающей операции std::list<>::push_back(std::move())?

Рассмотрим следующий код:

std::list<std::unique_ptr<Object>> objects;

std::unique_ptr<Object> object = std::make_unique<Object>();

// Do something with object.
// ...

try
{
    objects.push_back(std::move(object));
}
catch (...)
{
    // ...
}

Скажите, пожалуйста, что произойдет с object в случае генерации исключения? В официальной документации говорится о том, что objects останется в исходном состоянии, но про object не сказано ни слова. Объект останется в исходном состоянии, окажется пустым или сломанным?


Ответы (0 шт):