Zaawansowane CPP/Ćwiczenia 15: Wyjątkowo odporny kod: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
{{cwiczenie|1|| | |||
Wykonaj podany na wykładzie przykład dotyczący alokacji zasobów | Wykonaj podany na wykładzie przykład dotyczący alokacji zasobów | ||
konstruktorze. Przekonaj się, że rzeczywiście prowadzi to do wycieku | konstruktorze. Przekonaj się, że rzeczywiście prowadzi to do wycieku | ||
pamięci. Wypróbuj oba rozwiazania. | pamięci. Wypróbuj oba rozwiazania. | ||
}} | |||
{{cwiczenie|2|| | |||
Podaj przykład zasobu który może nie zostać zwolniony przez | Podaj przykład zasobu który może nie zostać zwolniony przez | ||
system operacyjny, nawet po zakończeniu programu. | system operacyjny, nawet po zakończeniu programu. | ||
}} | |||
{{cwiczenie|3|| | |||
Przeanalizuj implementację tablicy z zadania 14.4, pod kątem | Przeanalizuj implementację tablicy z zadania 14.4, pod kątem | ||
Linia 16: | Linia 16: | ||
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 19:18, 10 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 rozwiazania.
Ć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 zadania 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?