Poprawne użycie vectora wskaźników na obiekty
Ostatnio zmodyfikowano 2017-12-31 19:40
xvel Temat założony przez niniejszego użytkownika |
Poprawne użycie vectora wskaźników na obiekty » 2017-12-31 04:50:20 Witam Czy takie tworzenie i używanie vectora wskaźników na obiekty jest "poprawne"? class klasa { };
int main() { vector < unique_ptr < klasa >> wektor; wektor.emplace_back( new klasa ); wektor.emplace_back( new klasa ); wektor.emplace_back( new klasa ); } i czy kiedy vector wyjdzie z zasięgu obiekty zostaną usunięte? |
|
YooSy |
» 2017-12-31 08:33:57 wektor.emplace_back( make_unique < klasa >() ); czy kiedy vector wyjdzie z zasięgu obiekty zostaną usunięte |
Zajmują się tym destruktory tych klas, więc tak, zostaną usunięte przy opuszczaniu zasięgu, bądź wcześniej. |
|
xvel Temat założony przez niniejszego użytkownika |
» 2017-12-31 18:38:37 ale użycie new w standardzie c++11 bedzie poprawne? |
|
pekfos |
» 2017-12-31 18:41:19 Bardziej poprawne niż make_unique, ta funkcja to dopiero C++14. |
|
Elaine |
» 2017-12-31 19:40:57 Czy takie tworzenie i używanie vectora wskaźników na obiekty jest "poprawne"? |
Nie. Co się stanie z new klasa, jeśli emplace_back rzuci wyjątek? |
|
« 1 » |