![]()
(selections from the Introduction)
W tej ksiazce chce Ci zaproponowac podroz w kraine programowania w jezyku C++. Tym razem poznamy szablony funkcji, szablony klas, a takze mechanizm, ktorym mozna sie poslugiwac w sytuacjach wyjatkowych.
Ze co? Pomyslales, ze to nudne? Zareczam Ci, ze nie. Przy omawianiu tych zagadnien, razem z harcerzami szukac bedziemy w Stumilowym Lesie skarbow; konstruowac bedziemy mowiace maszyny tlumaczace z jezyka na jezyk; zrozumiesz, jak latwo oprogramowac robota przemyslowego.
Jest to specjalny mechanizm wprowadzony do jezyka C++ po to, by moc sprawnie i prosto reagowac na sytuacje uznane przez nas za tak wyjatkowe, ze uniemozliwiajace dalsza sensowna prace wybranych funkcji.
Znowu na pozor nie brzmi to porywajaco. To nic. Przy omawianiu tego zagadnienia poplyniemy lodzia podwodna, aby zdobyc twierdze na wyspie. Na stanowisku archeologicznym z okresu Starego Panstwa, szukac bedziemy w Egipcie skarbow z IV dynastii.
Oba te zagadnienia: szablony i obsluga sytuacji wyjatkowych - nie wystepuja w pierwotnych wersjach jezyka C++. Wprowadzono je pozniej tytulem eksperymentu. Gdy pisalem swoja pierwsza ksiazke "Symfonia C++" - nie bylo jeszcze jasne czy ten eksperyment wytrzyma probe czasu. To dlatego w "Symfonii" postanowilem tym zagadnieniem nie zawracac czytelnikom glowy. I tak "Symfonia" miala juz swoje 750 stron.
Z biegiem lat eksperyment uznano za doskonale udany. Nie tylko, ze narzedzia te okazaly sie przydatne, ale wrecz otworzyly caly ogromny obszar programowania w C++. Zrozumialem wtedy, ze musze cos o tym napisac.
Pierwotnie myslalem o 100-150 stronach. Z czasem jednak zaczynalem widziec jak wazne to zagadnienia. W trakcie, gdy pisalem, zastosowanie szablonow bardzo sie rozwinelo. Amerykanscy czytelnicy "Symfonii" donosili mi, ze na ich uczelniach sa na ten temat osobne wyklady. Ponaglali mnie wrecz, bym ksiazke o szablonach czym predzej napisal. No to napisalem.
Ksiazka ta sklada sie z czterech zasadniczych czesci:
poswiecona jest szablonom funkcji,
poswiecona jest szablonom klas,
poswiecona jest klasom pojemnikowym, czyli zastosowaniu obu powyzszych zagadnien,
omawia mechanizm obslugi sytuacji wyjatkowych.
Poczatkowo nie zamierzalem pisac czesci III (o pojemnikach) - bo jest to zagadnienie zwiazane nie tyle z jezykiem C++, co z sama technika programowania. Jednak zagadnienie to jest dla programisty C++ tak istotne, ze nie sposob go ominac bez szkody. To dlatego poswiecona mu czesc ksiazki stala sie tak obszerna (ok. 210 stron). Z drugiej jednak strony - obawiam sie, ze ta czesc i tak jest nieco za krotka.
Ksiazka ta przeznaczona jest dla programistow, ktorzy wstepnie opanowali jezyk C++ i chcieliby poznac te nowe narzedzia, jakimi w jezyku C++ sa szablony i mechanizm obslugi sytuacji wyjatkowych.
Jesli nauczyles sie C++ z mojej ksiazki "Symfonia C++", to ogromnie sie ciesze, ze spotykamy sie znowu. Jesli zas nauczyles sie C++ z jakiejs innej, dobrej ksiazki, to mam nadzieje, ze czytajac te - jeszcze bardziej polubisz C++.
Co prawda, czasem w tekscie zaznaczam, ze o jakims zagadnieniu mowilismy w "Symfonii" na stronie..., ale to tylko pomocnicza uwaga dla tych, ktorzy maja Symfonie pod reka. Na wypadek, gdyby chcieli siegnac po tlo omawianego zagadnienia.
Niezaleznie wiec od tego, z jakiej ksiazki nauczyles sie C++, domyslam sie, ze byla to dobra ksiazka. Przeciez gdyby byla zla - to na pewno "Pasji C++" nie mialbys ochoty czytac.
Milej lektury!
Jurek Grebosz
![]()