Bezpieczne używanie vector.emplace_back (nowy MyPointer); Czy awaria w wektorze może prowadzić do wycieku pamięci?

Czy korzystanie z niego jest bezpieczne

vector.emplace_back( new MyPointer() );

Czy może zgłoszony wyjątek lub błąd w wektorze powoduje wyciek pamięci?

Czy byłoby lepiej wykonać jedną z poniższych czynności, w której najpierw umieścisz wskaźnik w tymczasowym unikatowym_programie.

vector.emplace_back( std::unique_ptr<MyPointer>( new MyPointer() ) );

Więc jeśli wystąpi awaria wektora, tymczasowy unique_ptr będzie nadal czyścił pamięć?

questionAnswers(2)

yourAnswerToTheQuestion