Opus magnum C++. Misja w nadprzestrzeń C++14/17. Tom 4. Wydanie 2 poprawione - ebook
Opus magnum C++. Misja w nadprzestrzeń C++14/17. Tom 4. Wydanie 2 poprawione - 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!
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.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
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-289-1887-0 |
Rozmiar pliku: | 18 MB |