Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1010Strukturaksiążki
29
doreprezentacjiliczbzespolonych.Wdalszejkolejnościomówionesąspecjalneskładowe
klasy(ang.specialclassmembers).Pojawiająsiętematytakiejakgłębokieipłytkiekopio-
wanie(ang.deepandshallowcopy)czykorzyści,jakiedajesemantykaprzenoszenia.Dalej
znajdujemywprowadzeniedoszablonów(ang.templates)iprogramowaniagenerycznego
(ang.genericprogramming),jakzawszewzbogaconeoliczneprzykłady.Następnieanalizu-
jemyrelacjemiędzyklasami.Zaprezentowanezostająhierarchieklas,atakżedynamiczne
istatycznemechanizmywirtualne(ang.dynamicandstaticvirtualmechanisms).Analizie
poddanezostająrelacjeflhas-a”(flposiada”)orazflis-a”(fljest”);niezabraknieteżwskazówek
dotyczącychtego,kiedykorzystaćzktórej.
Rozdział5:flZarządzaniepamięcią”-taczęśćpoświęconajestróżnymaspektomczasu
życiaobiektuorazjegozakresowi,jakrównieżtworzeniuipozbywaniusięobiektóworaz
dostępowidonich.Znacznawiększośćtegorozdziałupoświęconajestsprytnym(inteligent-
nym)wskaźnikom(ang.smartpointers).Przedstawionesąprzykładykodupozwalającego
naskonstruowanielistyzapomocąwspólnychsprytnychwskaźników,atakżewzorzec
projektowyfabryka(ang.factorydesignpattern).
Rozdział6:flZaawansowaneprogramowanieobiektowe”-rozdziałtenprzedstawiakil-
kadodatkowych,bardzopraktycznychtechnikimetodprogramistycznych.Celemjesttu
przećwiczeniemetodprzedstawionychwpoprzednichrozdziałach,atakżezaznajomienie
sięzobiektamifunkcyjnymi,dopasowywaniemciągówzwykorzystaniemwyrażeńregular-
nych,implementacjamaszynystanóworazwzorcaprojektowegohandle-body.Omówionesą
zagadnieniatakiejaksystemplików,zegarsystemowyipomiarczasu,zakresyorazinterfejs
użytkownika.Zaprezentowanesąrównieżtakietechnikiprogramistyczne,jakparsowanie
wyrażeń,budowaniedrzewa,przechodzenieprzyużyciuwzorcaprojektowegowizytatora
(ang.visitordesignpattern;wzorzectenwystępujetakżepodnazwąflodwiedzający”),jak
równieżinterpretowaniewyrażeńzapomocąwzorcaprojektowegointerpretera(ang.in-
terpreterdesignpattern).
Rozdział7:flArytmetykakomputerowa”-rozdziałtenjestpodzielonynadwieczęści,
poświęconeodpowiednioliczbomstało-izmiennoprzecinkowym.Rozpoczynasięonod
bardzopodstawowychinformacjidotyczącycharytmetykikomputerowej,takichjakinter-
pretacjabajtów,systemykonwersjiitd.Możnawięckorzystaćzniegowcharakterzelekcji
wprowadzającejnastępującejporozdziale2.Znaleźćwnimmożnajednakznaczniewięcej
niżprosteobliczenia.Zagłębimysięwważnekwestie,takiejakbłędyzaokrąglenia,utra-
tacyfrznaczącychorazstandardoperacjinaliczbachzmiennoprzecinkowychIEEE754.
Zbadamyrównieżkilkazaawansowanychtechnikprogramistycznych,np.kiedykompilator
możegenerowaćkodwtrakciekompilacjialbojakobliczyćaproksymacjefunkcjiijak
poprawniesumowaćbuforywprzypadkuwielkichdanych.
Rozdział8:flPodstawyprogramowaniarównoległego”-taczęśćstanowiwprowadzenie
wdziedzinęobliczeńrównoległych.Popierwsze,wyjaśnionesątunowezjawiskaspowo-
dowanezbieżnym,jednoczesnymdziałaniemwielurdzenimikroprocesora,jakrównież
jednoczesnymdostępemdowspólnychobiektów.Następnieprzedstawioneiprzetestowane
sątrzynowekomponentyoprogramowaniasłużącedoobliczeńrównoległych.Najprostszy
wywołujezrównoleglonewersjealgorytmówzbibliotekistandardowej.C++zawierajednak
osobnąbibliotekępozwalającąnaprowadzenieobliczeńrównoległych-wodniesieniudo