Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1010Strukturaksiążki
29
doreprezentacjiliczbzespolonych.Wdalszejkolejnościomówionespecjalneskł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).Przedstawioneprzykł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ówione
zagadnieniatakiejaksystemplików,zegarsystemowyipomiarczasu,zakresyorazinterfejs
użytkownika.Zaprezentowaneró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śnionetunowezjawiskaspowo-
dowanezbieżnym,jednoczesnymdziałaniemwielurdzenimikroprocesora,jakrównież
jednoczesnymdostępemdowspólnychobiektów.Następnieprzedstawioneiprzetestowane
trzynowekomponentyoprogramowaniasłużącedoobliczeńrównoległych.Najprostszy
wywołujezrównoleglonewersjealgorytmówzbibliotekistandardowej.C++zawierajednak
osobnąbibliotekępozwalającąnaprowadzenieobliczeńrównoległych-wodniesieniudo