reklama - zainteresowany?

Opus magnum C++. Misja w nadprzestrzeń C++14/17. Tom 4 - Helion


ebook
Autor: Jerzy Grębosz
ISBN: 978-83-283-6787-6
stron: 280, Format: ebook
Data wydania: 2020-01-01
Księgarnia: Helion

Cena książki: 39,20 zł (poprzednio: 48,40 zł)
Oszczędzasz: 19% (-9,20 zł)

Dodaj do koszyka

Tagi: C++ - Programowanie

C++ - mierz wysoko!

C++ to jeden z najpopularniejszych i najpotężniejszych języków programowania. Stanowi punkt wyjścia dla wielu innych języków, które odziedziczyły po nim składnię i liczne możliwości, dzięki czemu można śmiało stwierdzić, że znajomość C++ otwiera drzwi do świata nowoczesnego programowania i jest podstawą na wymagającym rynku pracy w branży informatycznej. Czasy się zmieniają, lecz to C++ jest wciąż wybierany wszędzie tam, gdzie liczą się możliwości, elastyczność, wydajność i stabilność.

Książka, którą trzymasz w rękach, to kontynuacja genialnego kompendium Opus magnum C++11. Programowanie w języku C++. Autor, wybitny specjalista z ogromnym doświadczeniem w międzynarodowych projektach i twórca niezwykle popularnego podręcznika Symfonia C++, postanowił uzupełnić swoje dzieło o zagadnienia, dla których zabrakło miejsca w poprzednich tomach. Jeśli chcesz poszerzyć wiedzę na temat szablonów oraz poznać możliwości najnowszych standardów języka C++, nie mogłeś lepiej trafić!

  • Najważniejsze informacje o nowych możliwościach języka C++
  • Praktyczne przykłady zastosowania konstrukcji
  • Ćwiczenia utrwalające zdobytą wiedzę

Rusz w kolejną misję z C++ na pokładzie!

Dodaj do koszyka

Dodaj do koszyka

Spis treści

Opus magnum C++. Misja w nadprzestrzeń C++14/17. Tom 4 eBook -- spis treści

0. Proszę tego nie czytać! (1)

  • 0.1. Wyruszamy na kolejną wyprawę! (1)

1. Szablony o zmiennej liczbie parametrów (3)

  • 1.1. Szablon funkcji o zmiennej liczbie parametrów (i argumentów) (4)
  • 1.2. Jak dobrać się do argumentów tkwiących w pakiecie? (11)
    • 1.2.1. Ciekawe szablony zwracające rezultat (16)
  • 1.3. Szablon klas o dowolnej (zmiennej) liczbie parametrów (18)
  • 1.4. Trzy rodzaje pakietów parametrów szablonu (24)
    • 1.4.1. Pakiet szablonu będący pakietem wartości (25)
  • 1.5. Argumenty pakietu odbierane przez wartość, referencję, adres (30)
  • 1.6. Rozwinięcie według wzorca (czyli rozwinięcie "z kontekstem") (31)
  • 1.7. Rozwinięcie pakietu typów w klamrowej liście inicjalizatorów (34)
    • 1.7.1. Łatwe narzędzie do wypisania argumentów (34)
  • 1.8. Rozwinięcie pakietu na liście parametrów aktualnych innego szablonu (36)
  • 1.9. Gdzie można umieścić wyrażenia rozwijające pakiet parametrów (39)
  • 1.10. Ćwiczenia (39)

2. Cechy języka wprowadzone do standardu C++14 (43)

  • 2.1. Zapis dwójkowy stałych dosłownych (43)
  • 2.2. Separatory cyfr w stałych dosłownych (44)
    • 2.2.1. Wypisywanie liczb w postaci binarnej (45)
    • 2.2.2. Wczytywanie liczb dwójkowych strumieniem wejściowym (48)
  • 2.3. Kompilator rozpoznaje typ rezultatu funkcji (50)
  • 2.4. Deklaracja typu rezultatu decltype(auto) (52)
    • 2.4.1. Przykład zastosowania konstrukcji decltype(auto) w szablonie funkcji (55)
  • 2.5. Szablon definicji zmiennej (59)
    • 2.5.1. Jak to drzewiej bywało, czyli świat bez szablonów zmiennych (64)
    • 2.5.2. Teraz zobaczysz, jak prosto się to robi z C++14 (71)
    • 2.5.3. Ciekawe zastosowanie: sprawdzenie cech charakteru danego typu (72)
    • 2.5.4. Lubię, nie lubię... (77)
    • 2.5.5. Dwa usprawnienia (80)
    • 2.5.6. Realizacja tego pomysłu w programie (81)
  • 2.6. Przeładowanie globalnych operatorów new, new[ ], delete i delete[ ] (86)
  • 2.7. Nowości C++14 w wyrażeniach lambda (94)
    • 2.7.1. Przykład uogólnionego wyrażenia lambda (94)
    • 2.7.2. Przykład definicji obiektu na liście wychwytywania i jego inicjalizacja (96)
    • 2.7.3. Przykład wychwycenia na zasadzie przeniesienia (move) (99)
  • 2.8. C++14 a funkcje constexpr (104)
    • 2.8.1. Zniesienie wielu ograniczeń w ciele funkcji constexpr (104)
    • 2.8.2. Funkcje składowe constexpr w C++14 nie są już automatycznie const (110)
  • 2.9. Atrybuty (111)
    • 2.9.1. Nowy atrybut [[deprecated]] wprowadzony w C++14 (112)
    • 2.9.2. Oznaczenie wybranej funkcji jako przestarzałej (113)
    • 2.9.3. Argument funkcji uznany za przestarzały (114)
    • 2.9.4. Przestarzałe niestatyczne składniki klasy: funkcja składowa i dana składowa (114)
    • 2.9.5. Obiekt oznaczony jako przestarzały (115)
    • 2.9.6. deprecated a zbiorcza definicja kilku zmiennych (z ewentualną inicjalizacją) (116)
    • 2.9.7. Typy, które uznajemy za przestarzałe (116)
    • 2.9.8. Przestarzałe synonimy typów (w instrukcjach typedef i using) (118)
    • 2.9.9. Oznaczanie atrybutem [[deprecated]] specjalizacji szablonu klasy (118)
    • 2.9.10. Oznaczanie atrybutem [[deprecated]] specjalizacji szablonu funkcji (119)
  • 2.10. Przewrotu nie było (119)
  • 2.11. Ćwiczenia (120)

3. Cechy języka wprowadzone do standardu C++17 (123)

  • 3.1. Specyfikacja wyjątków staje się częścią typu funkcji (123)
  • 3.2. Technika "pomijanie kopiowania" bywa teraz obowiązkiem kompilatora (128)
  • 3.3. Przydomek alignas a operatory new i delete (134)
    • 3.3.1. Przeładowanie globalnych new i delete uwzględniające wyrównanie adresów (135)
    • 3.3.2. Jak przeładować wyrównujące operatory new/delete na użytek wybranej klasy (141)
  • 3.4. Porządek obliczania składników w złożonych wyrażeniach - nareszcie ustalony (144)
  • 3.5. Stała znakowa typu u8 (146)
  • 3.6. Szesnastkowy zapis liczb zmiennoprzecinkowych (147)
    • 3.6.1. Wypisywanie i wczytywanie zmiennoprzecinkowych liczb szesnastkowych (149)
  • 3.7. Wyrażenia poskładane w harmonijkę - ułatwienie pracy z pakietem argumentów (152)
    • 3.7.1. Pierwszy przykład użycia wyrażenia harmonijkowego w szablonie (152)
    • 3.7.2. Harmonijka z dodatkowym wyrażeniem początkowym (155)
    • 3.7.3. Cztery formy wyrażenia harmonijkowego (157)
    • 3.7.4. Kontekst wyrażenia harmonijkowego - przykład (159)
  • 3.8. Dozwolone słowo auto w deklaracji template <auto> (161)
  • 3.9. Kompilator rozpoznaje typ parametrów klasy szablonowej (166)
    • 3.9.1. Wektory czego innego niż widać (170)
  • 3.10. Instrukcja if constexpr - prawie jak kompilacja warunkowa (173)
    • 3.10.1. Instrukcja if constexpr rozwiązuje problem "lubianych" i "nielubianych" typów (176)
  • 3.11. Wyrażenia inicjalizujące w instrukcjach if i switch (179)
  • 3.12. Dowiązania strukturalne, czyli łatwe "sięganie do składników" (182)
    • 3.12.1. Dowiązanie do tablic zbudowanych na bazie klasy std::array (184)
    • 3.12.2. Łatwe sięganie do składników struktur/klas (185)
    • 3.12.3. Przystosowanie naszej klasy do obsługi deklaracji dowiązań (192)
    • 3.12.4. Przystosowanie cudzej klasy do obsługi deklaracji dowiązań (198)
  • 3.13. Operator preprocesora zwany has_include (201)
  • 3.14. Nowe atrybuty: maybe_unused, fallthrough i nodiscard (203)
    • 3.14.1. Atrybut [[maybe_unused]] (205)
    • 3.14.2. Atrybut [[fallthrough]] używany w instrukcji switch (208)
    • 3.14.3. Atrybut [[nodiscard]] - nie zlekceważ mnie (210)
  • 3.15. Typ std::byte do operacji na surowych blokach pamięci (213)
  • 3.16. Modyfikacje istniejących cech języka (222)
  • 3.17. Rozluźnienie zasady inicjalizowania typów wyliczeniowych (223)
  • 3.18. Modyfikacja deklaracji static_assert (224)
  • 3.19. Prostszy sposób zapisu zagnieżdżonych przestrzeni nazw (225)
  • 3.20. Dozwolone słowo typename w parametrze określającym inny szablon (229)
  • 3.21. Dla zakresowej pętli for funkcje begin i end mogą zwracać odmienne typy (233)
  • 3.22. Rozwinięcie pakietu możliwe nawet w deklaracji using (239)
  • 3.23. Nowe zasady auto-rozpoznawania typu obiektów mających inicjalizację klamrową (245)
  • 3.24. W C++17 agregat może być nawet klasą pochodną (247)
  • 3.25. Zmiana typu rezultatu funkcji std::uncaught_exception (250)
  • 3.26. Ćwiczenia (254)

4. Posłowie - czyli C++20 ante portas (264)

Skorowidz (265)

Dodaj do koszyka

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2020 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.