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:
CCF20091006 037 tif natomiast .jego komprehensja nie jest zerowa. Ale i w tym rozróżnieniu brak kropCCF20090523 080 tif KARL R. POPPER ruch, nie jest czynnością świadomą. Jest rzeczą dość oczywistą żeCCF20090610 175 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, leskanuj0027 (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 jestCCF20081221 076 ciałami. Ale przestrzeń nie jest także cechą w tym sensie przysługującą ciałom, jakstr2 4 do prędkość i obrotowej n Nie jest wymagane przy tym dostarczanie dodatkowej energii, jak tjf46 (345) Przykład Nu loterii jest 20 losów, w tym 4 wygrywające (oznaczone literą W) i 2 uprawniającDSC04322 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 najbardzObraz6 Istotne jest badanie pracy całych węzłów, a nie wymiana na siłę części metalowej na ceramiczwięcej podobnych podstron