• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Destruktor wektora wskaźników

0 głosów
702 wizyt
pytanie zadane 27 września 2020 w C i C++ przez sebaaas Początkujący (350 p.)
zamknięte 29 września 2020 przez sebaaas

Cześć.

W klasie Storage mam takie wektory wskaźników:

std::vector<std::vector<Device*>> devices_in_storage;
std::vector<std::vector<Tool*>> tools_in_storage;

wszystkie elementy dodawane są operatorem new.

Pytanie jest czy destrukcja obiektów jest prawidłowa:

Storage::~Storage() 
{
	for (auto& a : devices_in_storage)
		for (auto& b : a) delete b;

	for (auto& a : tools_in_storage)
		for (auto& b : a) delete b;
}

 Wydaje się, że odpowiednio usuwa, ale już się pogubiłem. Jakby ktoś mógł podpowiedzieć to dzięki.

komentarz zamknięcia: Problem rozwiązany

1 odpowiedź

+1 głos
odpowiedź 27 września 2020 przez tkz Nałogowiec (42,040 p.)
wybrane 29 września 2020 przez sebaaas
 
Najlepsza
Jest okey. Tak dodatkowo dodam, że w przypadku wskaźników, nie ma znaczenia. czy odwołujesz się przez referencje, czy też nie. Bo i tak nie będziesz działał na kopi wskaźnika...
Dlaczego nie używasz smart pointerów?
komentarz 28 września 2020 przez sebaaas Początkujący (350 p.)

Rzeczywiście, dzięki. Nie używam, bo jeszcze nie umiem smiley, no i może się mylę, ale chyba zwykłe wskaźniki są trudniejsze w obsłudze, a ja jestem na etapie wstępnego poznawania C++ więc traktuję to jako naukę pracy ze wskaźnikami.

 

komentarz 28 września 2020 przez tkz Nałogowiec (42,040 p.)
Ogólny poziom wejścia jest na zbliżonym poziomie, ale przy uniqe_ptr masz pewność, że unikniesz głupich błędów. Na przykład przy rzucaniu wyjątków, gdy zapomnisz wywołać operator delete. Technika RAII trochę zaoszczędzi.

Podobne pytania

0 głosów
1 odpowiedź 333 wizyt
pytanie zadane 30 marca 2020 w C i C++ przez Quegon23 Nowicjusz (150 p.)
0 głosów
1 odpowiedź 1,371 wizyt
pytanie zadane 4 października 2020 w C i C++ przez sebaaas Początkujący (350 p.)
0 głosów
2 odpowiedzi 917 wizyt

93,729 zapytań

142,668 odpowiedzi

323,283 komentarzy

63,288 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...