067 TIF

067 TIF



Podany przykład kodu nie jest skomplikowany, ponieważ pamięć jest w procedurze przydzielana w tym samym miejscu, w którym jest używana. Może się jednak zdarzyć tak, że przydzielamy bufor globalnie. Należy się wówczas upewnić, że został on poprawnie zainicjalizowany zanim będzie użyty.

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

Unikanie kopii wskazujących na siebie

pisanie szybkiego kodu; unikanie nieoczekiwanych wyników

Przed

void BazaDrg::Kopiuj(const BazaDrg &bazadrg)

{

m_rgb = (BYTE *)mal1oc(NLB); if(m_rgb)

{

memcpy(m_rgb, bazadrg.m_rgb, NLB);

}

}

void BazaDrg::Kopiuj(const BazaDrg &bazadrg)

{

if(&bazadrg == this) return;

m_rgb = (BYTE *)malloc(NLB); if(m„rgb)

{

memcpy(m_rgb, bazadrg.m_rgb, NLB);

}

}

Po co tracić czas i kopiować pamięć, gdy nie jest to potrzebne. Ponadto, jak pokażemy we wskazówce 78., czasami efekty uboczne tworzenia kopii wskazujących na siebie mogą być bardzo niebezpieczne i spowodować utratę danych lub awarię.

Przykład: Drgbase::Copy() w pliku drg.cpp


Wyszukiwarka

Podobne podstrony:
CCF20091006037 tif natomiast .jego komprehensja nie jest zerowa. Ale i w tym rozróżnieniu brak krop
CCF20090523080 tif KARL R. POPPER ruch, nie jest czynnością świadomą. Jest rzeczą dość oczywistą że
CCF20090610175 tif przedmiot i podmiot, w istocie nie jest już dłużej możliwa” 9. Heisenberg nie zr
Żadna z podanych wielkości charakterystycznych nie jest dla danego urządzenia odpylającego stała, le
skanuj0027 (61) 88 dyrektywa tak ważna dla młodego kapitalizmu. Zapewne nie /jest on — jak o tym bę
DEMOTYWATORY RÓŻNE PACZKAP0 SZT FOTO (296) fig Aktywacja produktu Windows Produkt Windows nie jest
CCF20081221076 ciałami. Ale przestrzeń nie jest także cechą w tym sensie przysługującą ciałom, jak
str2 4 do prędkość i obrotowej n Nie jest wymagane przy tym dostarczanie dodatkowej energii, jak tjf
46 (345) Przykład Nu loterii jest 20 losów, w tym 4 wygrywające (oznaczone literą W) i 2 uprawniając
DSC04322 90 Ecce homn jaka leży u jej podłoża, nie jest wcale mała w tym. by rzeczy, któe przemykają
73697 Slajd65 (16) Widać doskonale, że budowanie drzewa nie jest procedurą jednoznaczną, a to z 
Prospero nie jest Leonardem ani tym bardziej Galileuszem I nie chodzi mi o analogie, choćby najbardz
Obraz6 Istotne jest badanie pracy całych węzłów, a nie wymiana na siłę części metalowej na ceramicz

więcej podobnych podstron