jerzy.grebosz@ifj.edu.pl




    Książka jest już w księgarniach (także internetowych!)

okladka ksiazki Jerzy Grębosz

Opus magnum C++11

Programowanie w języku C++
łatwy podręcznik

Stron ok. 1650. (trzy tomy)
Wydawca: Helion
  • Wydanie I - październik 2017 (W postaci trzech tomów, oprawa miękka)


Książka ta jest następczynią bardzo popularnej książki "Symfonia C++ Standard", która opisywała język C++ według jego ówczesnego standardu C++03.
Natomiast "Opus magnum C++11" - jak sam tytuł wskazuje - opisuje jezyk C++ według międzynarodowego standardu zwanego C++11.

O zawartości można się zorientować przeglądając pliki PDF:
  • Spis treści

  • Przykładowy fragment rozdziału z końca pierwszego tomu: Klasy

  • Bardziej zaawansowanych może zainteresuje fragment jednego z rozdziałów z trzeciego tomu Wyrażenia Lambda

Fragment ze wstępu:
  • Książka ta jest następcą książki „Symfonia C++ Standard”.
    Na rynku księgarskim przez wiele lat obecna była moja książka „Symfonia C++ Standard”. Miała ok. 1200 stron, wiele wydań i cieszyła się ogromną poczytnością. Gdy pojawił się nowy standard języka zwany C++11, należało napisać nową książkę. To właśnie efekt tej pracy. Przy pisaniu tej nowej książki korzystałem oczywiście z niektórych fragmentów tamtej, a stary tekst musiał zostać zmodyfikowany i adaptowany do nowego standardu. Nowy standard wprowadził wiele nowych, ciekawych rozwiązań i należało je także w przystępny sposób opisać. W rezultacie obecna książka ma o 500 stron więcej. To nie jest już nowe wydanie „Symfonii”. To nowa książka. Ma też całkiem nowy tytuł. Nie chciałem popełnić tego samego błędu po raz drugi. Pierwsza moja książka miała tytuł „Symfonia C++”, a druga – tytuł dość podobny: „Symfonia C++ Standard”. W rezultacie wielu osobom, które chciały kupić tę nową książkę na aukcjach internetowych, sprzedawano tę starą, nadającą się wówczas już tylko na makulaturę. Dlatego teraz postanowiłem zmienić tytuł tak wyraziście, żeby nie narażać czytelników na wspomniane nieporozumienia.

  • C++11 Dlaczego C++11, a nie C++17.
    Standardu C++17 jeszcze nie opublikowano oficjalnie.

  • C++11 Dlaczego C++11, a nie C++14.
    Odpowiedź jest prosta: to, że opublikowano standard – czyli że zdefiniowano reguły nowej postaci języka, nie oznacza niestety, że równocześnie powstały kompilatory, które potrafią według tych nowych reguł pracować. Moim (autorskim) modus operandi jest przedstawianie własnych doświadczeń i refleksji na temat danego zagadnienia C++. Tymczasem gdy pracowałem nad tą książką, mój kompilator ostrzegał mnie, że implementacja standardu C++14 jest w nim jeszcze „eksperymentalna i niepełna”. Nie mogłem więc w odpowiedzialny sposób kompilować w nim programów C++14 ani tym bardziej opowiedzieć Ci o różnych aspektach danej nowej cechy C++14, jeśli sam nie mogłem tego gruntownie sprawdzić. Z C++14 musiałem więc jeszcze zaczekać. Nie ma jednak dramatu, bo różnice między C++14 a C++11 są naprawdę bardzo niewielkie. Natomiast przejście ze starego standardu C++03 do C++11 było bardzo znaczące. Twórca tego języka, Bjarne Stroustrup, napisał wtedy: „C++11 to jakby nowy język”.

ERRATA

Dzięki listom od uważnych czytelników powstaje errata, którą tu będę aktualzował na bieżąco. Oto jej postać z dnia 15 listopada 2017: Errata w formacie PDF

Cwiczenia
W książce na zakończenie każdego rozdziału jest zestaw pytań dotyczących właśnie poznanego materiału (tzw. "Ćwiczenia"). Swoje odpowiedzi na te ćwiczenia można sprawdzić klikając na następujący link:
Ćwiczenia i odpowiedzi







© 2017 Jerzy Grebosz                         Projekt strony wykonalRafal (Scelt) Tomal