Szczegóły ebooka

Opus magnum C++. Misja w nadprzestrzeń C++14/17. Tom 4. Wydanie II poprawione

Opus magnum C++. Misja w nadprzestrzeń C++14/17. Tom 4. Wydanie II poprawione

Jerzy Grębosz

Ebook

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++. 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!

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.3 Szablon klas o dowolnej (zmiennej) liczbie parametrów 18
  • 1.4 Trzy rodzaje pakietów parametrów szablonu 24
  • 1.5 Argumenty pakietu odbierane przez wartość, referencję, adres 30
  • 1.6 Rozwinięcie według wzorca (czyli rozwinięcie "z kontekstem") 32
  • 1.7 Rozwinięcie pakietu typów w klamrowej liście inicjalizatorów 34
  • 1.8 Rozwinięcie pakietu na liście parametrów aktualnych innego szablonu 37
  • 1.9 Gdzie można umieścić wyrażenia rozwijające pakiet parametrów 39
  • 1.10 Ćwiczenia 40

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.3 Kompilator rozpoznaje typ rezultatu funkcji 50
  • 2.4 Deklaracja typu rezultatu decltype(auto) 52
  • 2.5 Szablon definicji zmiennej 59
  • 2.6 Przeładowanie globalnych operatorów new, new[ ], delete i delete[ ] 77
  • 2.7 Nowości C++14 w wyrażeniach lambda 84
  • 2.8 C++14 a funkcje constexpr 95
  • 2.9 Atrybuty 102
  • 2.10 Przewrotu nie było 110
  • 2.11 Ćwiczenia 110

3 Cechy języka wprowadzone do standardu C++17 114

  • 3.1 Specyfikacja wyjątków staje się częścią typu funkcji 114
  • 3.2 Technika "pomijanie kopiowania" bywa teraz obowiązkiem kompilatora 119
  • 3.3 Przydomek alignas a operatory new i delete 125
  • 3.4 Porządek obliczania składników w złożonych wyrażeniach - nareszcie ustalony 135
  • 3.5 Stała znakowa typu u8 137
  • 3.6 Szesnastkowy zapis liczb zmiennoprzecinkowych 138
  • 3.7 Wyrażenia poskładane w harmonijkę - ułatwienie pracy z pakietem argumentów 143
  • 3.8 Dozwolone słowo auto w deklaracji template <auto> 152
  • 3.9 Kompilator rozpoznaje typ parametrów klasy szablonowej 157
  • 3.10 Instrukcja if constexpr - prawie jak kompilacja warunkowa 164
  • 3.11 Wyrażenia inicjalizujące w instrukcjach if i switch 170
  • 3.12 Dowiązania strukturalne, czyli łatwe "sięganie do składników" 172
  • 3.13 Operator preprocesora zwany __has_include 191
  • 3.14 Nowe atrybuty: maybe_unused, fallthrough i nodiscard 194
  • 3.15 Typ std::byte do operacji na surowych blokach pamięci 204
  • 3.16 Modyfikacje istniejących cech języka 213
  • 3.17 Rozluźnienie zasady inicjalizowania typów wyliczeniowych 213
  • 3.18 Modyfikacja deklaracji static_assert 215
  • 3.19 Prostszy sposób zapisu zagnieżdżonych przestrzeni nazw 215
  • 3.20 Dozwolone słowo typename w parametrze określającym inny szablon 219
  • 3.21 Dla zakresowej pętli for funkcje begin i end mogą zwracać odmienne typy 223
  • 3.22 Rozwinięcie pakietu możliwe nawet w deklaracji using 229
  • 3.23 Nowe zasady auto-rozpoznawania typu obiektów mających inicjalizację klamrową 235
  • 3.24 W C++17 agregat może być nawet klasą pochodną 237
  • 3.25 Zmiana typu rezultatu funkcji std::uncaught_exception 240
  • 3.26 Ćwiczenia 244

4 Posłowie - czyli C++20 ante portas 254

Skorowidz 255

  • Tytuł: Opus magnum C++. Misja w nadprzestrzeń C++14/17. Tom 4. Wydanie II poprawione
  • Autor: Jerzy Grębosz
  • ISBN: 978-83-289-1887-0, 9788328918870
  • Data wydania: 2024-06-04
  • Format: Ebook
  • Identyfikator pozycji: opmc42
  • Wydawca: Helion