062

062



W tym rozdziale dowiemy się, jak pisać bezpieczny i wydajny kod zawierający działania na wskaźnikach i pamięci. Niektóre z podanych wskazówek, dotyczące na przykład unikania wielokrotnego zwalniania pamięci, są oczywiste. Inne, takie jak używanie inteligentnych wskaźników, są trochę bardziej skomplikowane.


Sprawdzanie, czy pamięć przydzielono pomyślnie

unikanie awarii

Przed

pdw = new DWORD [cdw]; memset(pdw, OL, sizeof(DWORD) * cdw);

Po

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

memset(pdw, OL, sizeof(DWORD) * cdw);

Taaak, mówiliśmy o tym przykładzie we wskazówce 19. Ale sprawdzanie kodów zwrotnych jest szczególnie ważne podczas przydzielania pamięci. Jeśli przydzielamy pamięć, to zanim jej użyjemy musimy się upewnić, że proces alokacji przebiegł pomyślnie.

Przykład: klasa BF:FSetSize() w pliku bits.cpp


Zwalnianie pamięci tylko raz

unikanie awarii

Przed

SŁOW::~SŁOW()

{

delete m_pstrumień;

}



Wyszukiwarka

Podobne podstrony:
skanuj0010 (371) Rozdział 1.21.2. Historia logistyki W tym rozdziale: —    dowiemy si
skanuj0027 (158) Procesy logistyczne1.6. Procesy logistyczne W tym rozdziale: —    do
skanuj0057 (48) Rozdział 3.33.3. Techniki automatycznej identyfikacji W tym rozdziale dowiemy się, c
80206 skanuj0169 (9) 7. ŁAŃCUCHY DOSTAW I CENTRA LOGISTYCZNE7.1. Łańcuchy dostaw W tym rozdziale: —■
czasowniki w nawiasach Czasowniki w nawiasach TW tym rozdziale dowiesz się: ■    jak
38539 skanuj0024 (174) Rozdział 1.51.5. Podział systemów logistycznych W tym rozdziale: —  &nbs
P1040574 W tym rozdziale zajmiemy się całą gamą skutków oddziaływania mediów, zarówno krótkotrwałych
Image147 [w tym rozdziale ograniczono się w zasadzie do omówienia układów generowania i wybranych za
skanuj0007 (441) U PODSTAWOWE POJĘCIA LOGISTYKI1.1. Czym jest logistyka? W tym rozdziale: —  &n

więcej podobnych podstron