Usuwanie wskaźników na obiekty z wektora
Ostatnio zmodyfikowano 2016-07-29 13:00
Donkamilo Temat założony przez niniejszego użytkownika |
Usuwanie wskaźników na obiekty z wektora » 2016-07-29 12:03:09 Posiadam taki kod do dodawania nowych elemtów: std::vector < QTE *> qte; qte.push_back( new QTE { 1, 1, 3, 0 } );
Gdzie QTE jest moją klasą. (konstruktor tej klasy przyjmuje 4 argumenty) Usuwam je w taki sposób: qte.erase( qte.begin() + j );
Jednak powoduje to wyciek pamięci. Jak wykonać to poprawnie? próbowałem dodać: a następnie usuwać jednak to powoduje crash. |
|
pekfos |
» 2016-07-29 12:09:23 Bez &. Możesz sobie tego oszczędzić z użyciem wskaźników inteligentnych shared_ptr<> lub unique_ptr<>. |
|
Donkamilo Temat założony przez niniejszego użytkownika |
» 2016-07-29 13:00:31 Dziękuje bardzo!
Naprawdę, tak długo się zastanawiałem gdzie jest błąd.
A co do smart pointers, to zastanowię się nad ich użyciem. Jeszcze raz wielkie dzięki. |
|
« 1 » |