064

064



i wstawiliśmy nowy. Powinniśmy się jednakże upewnić przed usunięciem starego bufora, czy nowy przydział jest możliwy.

Jeśli przydzielenie pamięci nie uda się, to najprawdopodobniej brakuje pamięci operacyjnej. Często oznacza to kłopoty. Jednym z rozwiązań jest dodanie asercji sprawdzających, czy wystarcza pamięci. Jednakże jeśli brakuje zasobów, to system może nie zdołać wyświetlić okna asercji. Warto w zamian rozważyć użycie śledzenia wywołań.

Dygresja

Jeśli przydzielenie pamięci nie uda się, to można oczywiście ustawić wskaźnik bufora na wartość NULL, W takim wypadku wszystkie następne operacje na buforze wymagająsprawdzenia, czy rzeczywiście on istnieje.

Przykład: BF::FSetSizeQ w pliku bits.cpp


Przygotowywanie się na wielokrotne wywołania metod alokacji buforów

unikanie strat pamięci

Przed

pdw = new DWORD[cdw]; if(pdw)

{

m_rgdw = pdw;

Po

pdw = new DWORD[cdw]; if(pdw)

{

if(m_rgdw)

delete [] m_rgdw; m_rgdw = pdw;

Jeśli w naszym kodzie przydziela się bufor w wyniku wywołania na zewnątrz konstruktora, to należy być przygotowanym na sytuację, w której procedura ta będzie wywoływana więcej niż raz. Zamieszczony przykład kodu jest fragmentem metody ustawiającej rozmiar bufora pamięci. Metoda ta może być wywoływana dowolną liczbę razy. Jeśli powiedzie się przydzielenie pamięci dla nowego bufora, wówczas usuwamy stary bufor, a wskaźnik ustawiamy na nowo przydzielony bufor.


Wyszukiwarka

Podobne podstrony:
skanuj0020 (46) Zadanie 46. W celu ochrony dróg oddechowych przed toksycznymi oparami, podczas lutow
chociaż wysoki, dawał się jednak przeskoczyć. Odrabiając przy biurku lekcje Elżbieta miała przed sob
page0244 — 230 zdrowie. Należy jednak zauważyć, że troska o te biedne dzieci powinna się rozciągać n
PPK014 Powinno się także pić dużo wody przed pójściem do łóżka, co - muszę przyznać - sam robię. &am
79248 zdjeI0 vcTst) Zasadniczo zatem w bibliografii powinno się zamieszczać dzieła opublikowane. Bar
SE20101110010 Przed przystąpieniem do tworzenia systemu eksperckiego powinno się dokonać pewnego ro
Japończycy Wiedzą, jak powinno się świętować Nowy Rok. fandemonium.pl
tym też świetle powinno się oceniać zadania stawiane przed nauczaniem na poziomie średnim i podstawo
PRZED OPERACJĄCzy powinno się wyznaczać miejsce stomii przed operacją? Jak powinno się to

więcej podobnych podstron