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 siskanuj0027 (158) Procesy logistyczne1.6. Procesy logistyczne W tym rozdziale: — doskanuj0057 (48) Rozdział 3.33.3. Techniki automatycznej identyfikacji W tym rozdziale dowiemy się, c80206 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ę: ■ jak38539 skanuj0024 (174) Rozdział 1.51.5. Podział systemów logistycznych W tym rozdziale: — &nbsP1040574 W tym rozdziale zajmiemy się całą gamą skutków oddziaływania mediów, zarówno krótkotrwałychImage147 [w tym rozdziale ograniczono się w zasadzie do omówienia układów generowania i wybranych zaskanuj0007 (441) U PODSTAWOWE POJĘCIA LOGISTYKI1.1. Czym jest logistyka? W tym rozdziale: — &nwięcej podobnych podstron