EBOOKI WYDAWCY
Autor:
Wydawca:
Format:
epub, mobi, ibuk
Książka „Intensywny kurs języka C++” jest przeznaczona dla średnio zaawansowanych i zaawansowanych programistów. Po krótkim wprowadzeniu od razu wprowadzi Cię w świat języka C++17 będącego najnowszą wersją standardu ISO. Część I obejmuje podstawowy język C++, poczynając od typów i funkcji, a kończąc na cyklu życia obiektu i wyrażeniach. W części II przedstawiono bibliotekę standardową i biblioteki Boost. Zapoznasz się ze specjalnymi klasami użytkowymi, strukturami danych i algorytmami, a także ze sposobami obsługi systemów plików i tworzeniem programów o wysokiej wydajności wykorzystujących sieć.
Rok wydania | 2021 |
---|---|
Liczba stron | 848 |
Kategoria | Programowanie |
Wydawca | Wydawnictwo Naukowe PWN |
Tłumaczenie | Jacek Janusz |
ISBN-13 | 978-83-01-21740-2 |
Numer wydania | 1 |
Język publikacji | polski |
Informacja o sprzedawcy | ePWN sp. z o.o. |
EBOOKI WYDAWCY
POLECAMY
Ciekawe propozycje
Spis treści
PRZEDMOWA XXV | |
PODZIĘKOWANIA XXIX | |
WSTĘP XXXI | |
O książce XXXII | |
Dla kogo jest przeznaczona ta książka? XXXIII | |
Co znajduje się w tej książce? XXXIII | |
Część I: Język C++ XXXIII | |
Część II: Biblioteki i platformy XXXIV | |
WSTĘP DLA PROGRAMISTÓW C XXXVII | |
Uaktualnienie języka C do Super C XXXIX | |
Przeciążanie funkcji XXXIX | |
Referencje XL | |
Inicjalizacja z użyciem słowa kluczowego auto XLIII | |
Przestrzenie nazw i niejawne użycie słowa typedef z typami struct, union i enum XLIV | |
Łączenie plików obiektowych języków C i C++ XLVI | |
Główne cechy języka C++ XLVII | |
Zwięzłe wyrażanie idei i ponowne wykorzystanie kodu XLVIII | |
Biblioteka standardowa C++ XLIX | |
Wyrażenia lambda LI | |
Programowanie generyczne z użyciem szablonów LII | |
Niezmienniki klas i zarządzanie zasobami LIII | |
Semantyka przenoszenia LVII | |
Zrelaksuj się i ciesz się swoimi nowymi butami LVIII | |
CZĘŚĆ I: JĘZYK C++ 1 | |
1. GOTOWI DO PRACY 3 | |
Struktura prostego programu C++ 4 | |
Stworzenie pierwszego pliku źródłowego w języku C++ 4 | |
Funkcja main: punkt startowy programu 4 | |
Biblioteki: wykorzystywanie kodu zewnętrznego 5 | |
Zestaw narzędzi kompilatora 5 | |
Konfigurowanie środowiska programistycznego 6 | |
System Windows 10 i nowsze wersje: Visual Studio 6 | |
System macOS: Xcode .8 | |
System Linux: Xcode 10 | |
Instalowanie kompilatora GCC na podstawie źródeł 10 | |
Edytory tekstu 13 | |
Rozpoczęcie samodzielnej pracy z językiem C++ 14 | |
System typów języka C++ 14 | |
Deklarowanie zmiennych .14 | |
Inicjalizowanie stanu zmiennej 15 | |
Instrukcje warunkowe 15 | |
Funkcje 17 | |
Specyfikatory formatowania w funkcji printf 19 | |
Kolejne podejście do funkcji step_function 20 | |
Komentarze 22 | |
Debugowanie 22 | |
Visual Studio 22 | |
Xcode 24 | |
Debugowanie w kompilatorach GCC i Clang za pomocą debuggerów GDB i LLDB 26 | |
Podsumowanie 29 | |
2. TYPY 31 | |
Typy podstawowe 31 | |
Typy całkowite 32 | |
Typy zmiennoprzecinkowe 35 | |
Typy znakowe 37 | |
Typy logiczne 39 | |
Typ std::byte 41 | |
Typ size_t 42 | |
Typ void 43 | |
Tablice 44 | |
Inicjalizacja tablicy 44 | |
Dostęp do elementów tablicy 44 | |
Zwięzła prezentacja pętli 45 | |
Łańcuchy w stylu języka C 47 | |
Typy zdefiniowane przez użytkownika 51 | |
Typy wyliczeniowe 51 | |
Klasy używające tradycyjnych struktur danych 54 | |
Unie 56 | |
W pełni funkcjonalne klasy C++ 57 | |
Metody 57 | |
Kontrola dostępu 58 | |
Konstruktory 61 | |
Inicjalizacja 62 | |
Destruktor 68 | |
Podsumowanie 68 | |
3. TYPY REFERENCYJNE 71 | |
Wskaźniki 71 | |
Adresowanie zmiennych 72 | |
Wyłuskiwanie zmiennych 74 | |
Szczegółowy spis treści xiii | |
Operator odwołania do składowej przez wskaźnik 75 | |
Wskaźniki i tablice 76 | |
Wskaźniki są niebezpieczne 79 | |
Wskaźniki void i std::byte 81 | |
Literał nullptr i wyrażenia logiczne 81 | |
Referencje 81 | |
Użycie wskaźników i referencji 82 | |
Jednokierunkowe listy łączone: podstawowa struktura oparta na wskaźnikach 82 | |
Stosowanie referencji 85 | |
Wskaźniki this 86 | |
Poprawa bezpieczeństwa za pomocą słowa kluczowego const 87 | |
Zmienne składowe const 88 | |
Listy inicjalizacyjne składowych 89 | |
Dedukcja typu z użyciem słowa kluczowego auto 90 | |
Inicjalizacja z użyciem słowa kluczowego auto 90 | |
Słowo kluczowe auto i typy referencyjne 91 | |
Słowo kluczowe auto i refaktoryzacja kodu 91 | |
Podsumowanie 92 | |
4. CYKL ŻYCIA OBIEKTU 93 | |
Czas przechowywania obiektu 93 | |
Alokacja, dealokacja i czas życia 94 | |
Zarządzanie pamięcią 94 | |
Automatyczny czas przechowywania 94 | |
Statyczny czas przechowywania 95 | |
Czas przechowywania lokalny dla wątku 98 | |
Dynamiczny czas przechowywania 99 | |
Śledzenie cyklu życia obiektu 101 | |
Wyjątki 103 | |
Słowo kluczowe throw 103 | |
Użycie bloków try-catch 104 | |
Klasy wyjątków biblioteki stdlib 106 | |
Obsługa wyjątków 107 | |
Wyjątki definiowane przez użytkownika 110 | |
Słowo kluczowe noexcept 110 | |
Stos wywołań i wyjątki 110 | |
Klasa SimpleString 112 | |
Dołączanie łańcuchów i ich wyświetlanie 114 | |
Użycie klasy SimpleString 115 | |
Wykorzystywanie klasy SimpleString 116 | |
Zwijanie stosu wywołań 117 | |
Wyjątki i wydajność 119 | |
Alternatywy dla wyjątków 120 | |
Semantyka kopiowania 121 | |
Konstruktory kopiujące 123 | |
Przypisanie kopiujące 126 | |
Kopiowanie domyślne 128 | |
Wskazówki dotyczące kopiowania 129 | |
Semantyka przenoszenia 129 | |
Kopiowanie może być nieekonomiczne 130 | |
Kategorie wartości 131 | |
Referencje do l-wartości i r-wartości 132 | |
Funkcja std::move 133 | |
Konstruktor przenoszący 134 | |
Przypisanie przenoszące 134 | |
Wersja końcowa 136 | |
Metody generowane przez kompilator 138 | |
Podsumowanie 139 | |
5. POLIMORFIZM CZASU WYKONANIA 141 | |
Polimorfizm 142 | |
Motywujący przykład 142 | |
Dodawanie nowych modułów logowania 144 | |
Interfejsy 145 | |
Składanie obiektów i dziedziczenie implementacji 145 | |
Definiowanie interfejsów 146 | |
Dziedziczenie po klasie nadrzędnej 146 | |
Dziedziczenie składowych 147 | |
Metody wirtualne 148 | |
Czysto wirtualne klasy i wirtualne destruktory 150 | |
Implementacja interfejsów 152 | |
Użycie interfejsów 152 | |
Aktualizacja programu rejestrującego transakcje bankowe 152 | |
Wstrzykiwanie konstruktorem 153 | |
Wstrzykiwanie przez właściwości 154 | |
Wybór między wstrzykiwaniem konstruktorem a wstrzykiwaniem przez właściwości 155 | |
Podsumowanie 156 | |
6. POLIMORFIZM CZASU KOMPILACJI 157 | |
Szablony 157 | |
Deklarowanie szablonów 158 | |
Definicja szablonu klasy 158 | |
Definicja szablonu funkcji 159 | |
Konkretyzowanie szablonów 159 | |
Operatory rzutowania 159 | |
Operator const_cast 160 | |
Operator static_cast 160 | |
Operator reinterpret_cast 161 | |
Operator narrow_cast 162 | |
Przykład użycia szablonu funkcji: funkcja mean wyznaczająca średnią 164 | |
Uogólnianie funkcji mean 164 | |
Dedukcja typu szablonu 167 | |
Przykład użycia klasy szablonowej: SimpleUniquePointer 168 | |
Kontrola typów w szablonach 170 | |
Koncepty 172 | |
Definiowanie konceptu 173 | |
Cechy typu 173 | |
Wymagania 175 | |
Tworzenie konceptów z wyrażeń requires 176 | |
Użycie konceptów 177 | |
Doraźne wyrażenia requires 182 | |
Wyrażenie static_assert: rozwiązanie tymczasowe dla kodu bez konceptów 183 | |
Parametry szablonowe niebędące typami 184 | |
Szablony wariadyczne 187 | |
Zaawansowane zagadnienia związane z szablonami 188 | |
Specjalizacja szablonu 188 | |
Wiązanie nazw 188 | |
Funkcja typu 188 | |
Metaprogramowanie szablonów 188 | |
Organizacja kodu źródłowego szablonów 189 | |
Polimorfizm czasu kompilacji a polimorfizm czasu wykonania 189 | |
Podsumowanie 190 | |
7. WYRAŻENIA 191 | |
Operatory 191 | |
Operatory logiczne 191 | |
Operatory arytmetyczne 192 | |
Operatory przypisania 194 | |
Operatory inkrementacji i dekrementacji 195 | |
Operatory porównania 195 | |
Operatory dostępu do składowych 196 | |
Trójargumentowy operator warunkowy 196 | |
Operator przecinkowy 197 | |
Przeciążenie operatora 197 | |
Przeciążanie operatora new 199 | |
Priorytet i łączność operatorów 205 | |
Kolejność ewaluacji 207 | |
Literały definiowane przez użytkownika 208 | |
Konwersje typów 209 | |
Niejawne konwersje typów 209 | |
Jawne konwersje typów 212 | |
Rzutowania w stylu C 213 | |
Konwersje typów definiowane przez użytkownika 215 | |
Wyrażenia stałe 216 | |
Kolorowy przykład 217 | |
Użycie słowa kluczowego constexpr 219 | |
Wyrażenia volatile 219 | |
Podsumowanie 221 | |
8. INSTRUKCJE 223 | |
Instrukcje wyrażeń 223 | |
Instrukcje złożone 224 | |
Instrukcje deklaracji 225 | |
Funkcje 225 | |
Przestrzenie nazw 229 | |
Aliasy typów 232 | |
Wiązania strukturalne 234 | |
Atrybuty 236 | |
Instrukcje wyboru 237 | |
Instrukcje if 237 | |
Instrukcje switch 241 | |
Instrukcje iteracyjne 243 | |
Pętle while 243 | |
Pętle do-while 244 | |
Pętle for 245 | |
Pętle for oparte na zakresie 247 | |
Instrukcje skoku 251 | |
Instrukcje break 251 | |
Instrukcje continue 252 | |
Instrukcje goto 253 | |
Podsumowanie 254 | |
9. FUNKCJE 257 | |
Deklaracje funkcji 258 | |
Modyfikatory przedrostkowe 258 | |
Modyfikatory przyrostkowe 259 | |
Typy zwracane auto 261 | |
Użycie słowa kluczowego auto w szablonach funkcji 262 | |
Rozwiązywanie przeciążenia 263 | |
Funkcje wariadyczne 264 | |
Szablony wariadyczne 266 | |
Programowanie z użyciem pakietu parametrów 266 | |
Ponowne zaprogramowanie funkcji sum 267 | |
Wyrażenia fold 268 | |
Wskaźniki do funkcji 268 | |
Deklaracja wskaźnika do funkcji 268 | |
Aliasy typów i wskaźniki do funkcji 270 | |
Operator wywołania funkcji 270 | |
Przykładowa funkcja zliczająca 271 | |
Wyrażenia lambda 273 | |
Użycie 273 | |
Parametry i treść wyrażenia lambda 274 | |
Argumenty domyślne 275 | |
Generyczne wyrażenia lambda 275 | |
Typy zwracane w wyrażeniach lambda 277 | |
Przechwytywanie w wyrażeniu lambda 277 | |
Wyrażenia lambda ze specyfikatorem constexpr 284 | |
Klasa std::function 284 | |
Deklarowanie obiektu klasy function 285 | |
Przykład zaawansowany 286 | |
Funkcja main i wiersz poleceń 287 | |
Trzy przeciążenia funkcji main 288 | |
Analiza parametrów programu 288 | |
Bardziej zaawansowany przykład 290 | |
Status zakończenia programu 292 | |
Podsumowanie 293 | |
CZĘŚĆ II: BIBLIOTEKI I PLATFORMY295 | |
10. TESTOWANIE 297 | |
Testy jednostkowe 297 | |
Testy integracyjne 298 | |
Testy akceptacyjne 298 | |
Testy wydajnościowe 298 | |
Zaawansowany przykład: operacja hamowania 299 | |
Implementacja klasy AutoBrake 301 | |
Projektowanie sterowane testami (TDD) 302 | |
Dodawanie interfejsu do magistrali usługowej 314 | |
Testy jednostkowe i platformy imitacyjne 321 | |
Catch: platforma zarządzająca testami jednostkowymi 321 | |
Google Test 328 | |
Boot Test 336 | |
Podsumowanie: platformy testujące 342 | |
Platformy imitacyjne 342 | |
Google Mock 344 | |
HippoMock 353 | |
Inne platformy imitacyjne: FakeIt i Trompeloeil 357 | |
Podsumowanie 358 | |
11. WSKAŹNIKI INTELIGENTNE 361 | |
Wskaźniki inteligentne 361 | |
Modele własności wskaźników inteligentnych 362 | |
Wskaźniki scoped_ptr 362 | |
Konstruowanie 363 | |
Stworzenie środowiska testowego 363 | |
Niejawna konwersja na typ logiczny na podstawie prawa własności 364 | |
Opakowanie RAII 365 | |
Semantyka wskaźnikowa 365 | |
Porównywanie z wartością nullptr 366 | |
Zamiana 366 | |
Resetowanie i podmiana wskaźników scoped_ptr 367 | |
Brak prawa przenoszenia 368 | |
Typ boost::scoped_array 369 | |
Skrócona lista wspieranych operacji 369 | |
Wskaźniki unique_ptr 370 | |
Konstruowanie 370 | |
Wspierane operacje 371 | |
Własność wyłączna i przenaszalna 371 | |
Tablice wskaźników unique_ptr 372 | |
Dealokatory 373 | |
Użycie własnych dealokatorów w programowaniu systemowym 373 | |
Skrócona lista wspieranych operacji 376 | |
Wskaźniki shared_ptr 377 | |
Konstruowanie 377 | |
Określanie alokatora 378 | |
Wspierane operacje 379 | |
Własność niewyłączna i przenaszalna 379 | |
Tablice shared_ptr 380 | |
Dealokatory 380 | |
Skrócona lista wspieranych operacji 381 | |
Wskaźniki weak_ptr 382 | |
Konstruowanie 383 | |
Uzyskiwanie tymczasowego prawa własności 383 | |
Wzorce zaawansowane 384 | |
Wspierane operacje 384 | |
Wskaźniki instrusive_ptr 385 | |
Podsumowanie opcji związanych ze wskaźnikami inteligentnymi 387 | |
Alokatory 387 | |
Podsumowanie 390 | |
12. NARZĘDZIA 393 | |
Struktury danych 394 | |
Klasa tribool 394 | |
Klasa optional 396 | |
Klasa pair 399 | |
Klasa tuple 401 | |
Klasa any 402 | |
Klasa variant 404 | |
Data i czas 408 | |
Biblioteka DateTime z pakietu Boost 408 | |
Biblioteka Chrono 412 | |
Narzędzia numeryczne 418 | |
Funkcje numeryczne 418 | |
Liczby zespolone 420 | |
Stałe matematyczne 421 | |
Liczby losowe 422 | |
Limity numeryczne 427 | |
Konwersje numeryczne w bibliotece Boost 428 | |
Arytmetyka liczb wymiernych w czasie kompilacji 430 | |
Podsumowanie 432 | |
13. KONTENERY 433 | |
Kontenery sekwencyjne 434 | |
Kontenery array 434 | |
Kontenery vector 442 | |
Rzadziej używane kontenery sekwencyjne 451 | |
Kontenery asocjacyjne 462 | |
Kontener set 463 | |
Kontener multiset 469 | |
Kontener map 475 | |
Rzadziej używane kontenery asocjacyjne 483 | |
Grafy i drzewa właściwości 484 | |
Biblioteka Boost Graph Library 485 | |
Szczegółowy spis treści xix | |
Drzewa właściwości w bibliotece Boost 486 | |
Kontener initializer_list 488 | |
Podsumowanie 489 | |
14. ITERATORY 493 | |
Kategorie iteratorów 494 | |
Iteratory wyjściowe 494 | |
Iteratory wejściowe 497 | |
Iteratory postępujące 498 | |
Iteratory dwukierunkowe 500 | |
Iteratory o dostępie swobodnym 501 | |
Iteratory ciągłe 502 | |
Iteratory mutowalne 502 | |
Pomocnicze funkcje iteratorów 503 | |
Funkcja std::advance 504 | |
Funkcje std::next i std::prev 505 | |
Funkcje std::distance 506 | |
Funkcje std::iter_swap 507 | |
Dodatkowe adaptery iteratorów 507 | |
Adaptery iteratorów przenoszących 507 | |
Adaptery iteratorów wstecznych 509 | |
Podsumowanie 511 | |
15. ŁAŃCUCHY 513 | |
Typ std::string 514 | |
Konstruowanie 514 | |
Zarządzanie pamięcią i optymalizacje niewielkich łańcuchów 518 | |
Dostęp do elementów i iteratorów 519 | |
Porównywanie łańcuchów 521 | |
Przetwarzanie elementów 522 | |
Wyszukiwanie 528 | |
Konwersje numeryczne 532 | |
Widok na łańcuch 534 | |
Konstruowanie 535 | |
Operacje wspierane przez klasę string_view 536 | |
Prawa własności, użycie i wydajność 537 | |
Wyrażenia regularne 538 | |
Wzorce 538 | |
Klasa basic_regex 540 | |
Algorytmy 541 | |
Algorytmy związane z łańcuchami dostępne w pakiecie Boost 545 | |
Zakresy biblioteki Boost 545 | |
Predykaty 546 | |
Klasyfikatory 548 | |
Wyszukiwacze 549 | |
Algorytmy modyfikujące 550 | |
Dzielenie i łączenie 553 | |
Wyszukiwanie 555 | |
Tokenizer z pakietu Boost 556 | |
Lokalizacje 557 | |
Podsumowanie 557 | |
16. STRUMIENIE 559 | |
Strumienie 559 | |
Klasy strumieni 560 | |
Stan strumienia 567 | |
Buforowanie i opróżnianie bufora 569 | |
Manipulatory 570 | |
Typy zdefiniowane przez użytkownika 572 | |
Strumienie związane z łańcuchami 575 | |
Strumienie plikowe 579 | |
Bufory strumieniowe 585 | |
Dostęp swobodny 587 | |
Podsumowanie 588 | |
17. SYSTEMY PLIKÓW 591 | |
Pojęcia dotyczące systemu plików 592 | |
Klasa std::filesystem::path 592 | |
Tworzenie ścieżek 593 | |
Dzielenie ścieżek na części składowe 593 | |
Modyfikowanie ścieżek 595 | |
Podsumowanie metod związanych z systemem plików dostępnych w klasie path 596 | |
Pliki i katalogi 597 | |
Obsługa błędów 598 | |
Funkcje tworzące ścieżkę 598 | |
Sprawdzanie typów plików 599 | |
Sprawdzanie plików i katalogów 601 | |
Modyfikowanie plików i katalogów 603 | |
Iteratory katalogów 605 | |
Konstruowanie 605 | |
Elementy katalogu 606 | |
Rekurencyjne iterowanie po katalogach 608 | |
Wykorzystanie strumieni fstream 610 | |
Podsumowanie 612 | |
18. ALGORYTMY 615 | |
Złożoność obliczeniowa algorytmów 616 | |
Zasady wykonywania 617 | |
Operacje niemodyfikujące kolekcje 618 | |
Algorytm all_of 618 | |
Algorytm any_of 619 | |
Algorytm none_of 620 | |
Algorytm for_each 621 | |
Algorytm for_each_n 623 | |
Algorytmy find, find_if i find_if_not 624 | |
Algorytm find_end 626 | |
Algorytm find_first_of 627 | |
Algorytm adjacent_find 628 | |
Algorytmy count i count_if 629 | |
Algorytm mismatch 630 | |
Algorytm equal 631 | |
Algorytm is_permutation 632 | |
Algorytm search 634 | |
Algorytm search_n 635 | |
Operacje modyfikujące kolekcje 636 | |
Algorytm copy 636 | |
Algorytm copy_n 637 | |
Algorytm copy_backward 638 | |
Algorytm move 639 | |
Algorytm move_backward 640 | |
Algorytm swap_ranges 642 | |
Algorytm transform 642 | |
Algorytm replace 644 | |
Algorytm fill 646 | |
Algorytm generate 647 | |
Algorytm remove 648 | |
Algorytm unique 650 | |
Algorytm reverse 651 | |
Algorytm sample 652 | |
Algorytm shuffle 654 | |
Operacje związane z sortowaniem 656 | |
Algorytm sort 657 | |
Algorytm stable_sort 658 | |
Algorytm partial_sort 660 | |
Algorytm is_sorted 661 | |
Algorytm nth_element 662 | |
Wyszukiwanie binarne 663 | |
Algorytm lower_bound 664 | |
Algorytm upper_bound 664 | |
Algorytm equal_range 665 | |
Algorytm binary_search 666 | |
Algorytmy oparte na podziałach 667 | |
Algorytm is_partitioned 667 | |
Algorytm partition 668 | |
Algorytm partition_copy 669 | |
Algorytm stable_partition 671 | |
Algorytmy scalające 672 | |
Algorytm merge 672 | |
Algorytmy wartości ekstremalnych 673 | |
Algorytmy min i max 673 | |
Algorytmy min_element i max_element 675 | |
Algorytm clamp 676 | |
Operacje numeryczne 677 | |
Przydatne operatory 677 | |
Algorytm iota 678 | |
Algorytm accumulate 678 | |
Algorytm reduce 680 | |
Algorytm inner_product 681 | |
Algorytm adjacent_difference 682 | |
Algorytm partial_sum 683 | |
Inne algorytmy 684 | |
Biblioteka Boost Algorithm 686 | |
19. WSPÓŁBIEŻNOŚĆ I RÓWNOLEGŁOŚĆ 689 | |
Programowanie współbieżne 690 | |
Zadania asynchroniczne 690 | |
Współdzielenie i koordynacja 698 | |
Niskopoziomowe funkcje związane ze współbieżnością 710 | |
Algorytmy równoległe 711 | |
Przykład: sortowanie równoległe 711 | |
Algorytmy równoległe nie są magiczne 712 | |
Podsumowanie 713 | |
20. PROGRAMOWANIE SIECIOWE Z UŻYCIEM BIBLIOTEKI BOOST ASIO 715 | |
Model programowania biblioteki Boost Asio 716 | |
Programowanie sieciowe z użyciem biblioteki Asio 718 | |
Protokół internetowy 718 | |
Rozwiązywanie nazwy hosta 720 | |
Nawiązywanie połączenia 722 | |
Bufory 724 | |
Odczytywanie danych z buforów i zapisywanie do nich 727 | |
Hypertext Transfer Protocol (HTTP) 729 | |
Implementacja prostego klienta HTTP za pomocą biblioteki Boost Asio 731 | |
Asynchroniczne odczytywanie i zapisywanie 733 | |
Tworzenie serwera 737 | |
Wielowątkowość biblioteki Boost Asio 741 | |
Podsumowanie 743 | |
21. TWORZENIE APLIKACJI 745 | |
Wsparcie programu 746 | |
Obsługa zakończenia programu i zwalniania zasobów 747 | |
Komunikacja z systemem operacyjnym 751 | |
Obsługa sygnałów systemu operacyjnego 753 | |
Biblioteka Boost ProgramOptions 755 | |
Opis opcji 756 | |
Parsowanie opcji 758 | |
Przechowywanie opcji i dostęp do nich 759 | |
Wykorzystanie zdobytej wiedzy 761 | |
Specyficzne zagadnienia związane z kompilacją 763 | |
Przywitaj się ponownie z preprocesorem 763 | |
Optymalizacje kompilatora 766 | |
Konsolidacja z językiem C 767 | |
Podsumowanie 768 | |
SKOROWIDZ 771 | |