Zaawansowane CPP/Ćwiczenia 15: Wyjątkowo odporny kod: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 12: Linia 12:
 
{{cwiczenie|3||  
 
{{cwiczenie|3||  
  
Przeanalizuj implementację tablicy z zadania 14.4, pod kątem
+
Przeanalizuj implementację tablicy z [[Zaawansowane CPP/Ćwiczenia 3: Szablony II|ćwiczenia 14.4]], pod kątem
 
odporności na wyjątki. Nie zapomnij o konstruktorach. Popraw
 
odporności na wyjątki. Nie zapomnij o konstruktorach. Popraw
 
implementacje, tak aby była bezpieczna. Czy można to uzyskać bez
 
implementacje, tak aby była bezpieczna. Czy można to uzyskać bez
 
dynamicznej alokacji pamięci?
 
dynamicznej alokacji pamięci?
 
}}
 
}}

Wersja z 13:09, 25 wrz 2006

Ćwiczenie 1

Wykonaj podany na wykładzie przykład dotyczący alokacji zasobów konstruktorze. Przekonaj się, że rzeczywiście prowadzi to do wycieku pamięci. Wypróbuj oba rozwiązania.

Ćwiczenie 2

Podaj przykład zasobu który może nie zostać zwolniony przez system operacyjny, nawet po zakończeniu programu.

Ćwiczenie 3

Przeanalizuj implementację tablicy z ćwiczenia 14.4, pod kątem odporności na wyjątki. Nie zapomnij o konstruktorach. Popraw implementacje, tak aby była bezpieczna. Czy można to uzyskać bez dynamicznej alokacji pamięci?