• 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

Aruba Cloud - Virtual Private Server VPS
0 głosów
584 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,020 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,020 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ź 187 wizyt
pytanie zadane 30 marca 2020 w C i C++ przez Quegon23 Nowicjusz (150 p.)
0 głosów
1 odpowiedź 1,032 wizyt
pytanie zadane 4 października 2020 w C i C++ przez sebaaas Początkujący (350 p.)
0 głosów
2 odpowiedzi 698 wizyt

93,327 zapytań

142,325 odpowiedzi

322,396 komentarzy

62,657 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...