reklama - zainteresowany?

C++. Intensywny kurs - Helion

C++. Intensywny kurs
ebook
Autor: Josh Lospinoso
T艂umaczenie: Jacek Janusz
ISBN: 9788301217402
stron: 848, Format: ebook
Data wydania: 2021-03-17
Ksi臋garnia: Helion

Cena ksi膮偶ki: 89,40 z艂 (poprzednio: 149,00 z艂)
Oszcz臋dzasz: 40% (-59,60 z艂)

Dodaj do koszyka C++. Intensywny kurs

Tagi: C++ - Programowanie

Ksi

Dodaj do koszyka C++. Intensywny kurs

Dodaj do koszyka C++. Intensywny kurs

Spis tre艣ci

C++. Intensywny kurs eBook -- spis tre艣ci

  • Ok艂adka
  • Strona tytu艂owa
  • Strona redakcyjna
  • Spis tre艣ci
  • Przedmowa
  • Podzi臋kowania
  • Wst臋p
    • O ksi膮偶ce
    • Dla kogo jest przeznaczona ta ksi膮偶ka?
    • Co znajduje si臋 w tej ksi膮偶ce?
      • Cz臋艣膰 I: J臋zyk C++
      • Cz臋艣膰 II: Biblioteki i platformy
  • Wst臋p dla programist贸w C
    • Uaktualnienie j臋zyka C do Super C
      • Przeci膮偶anie funkcji
      • Referencje
      • Inicjalizacja z u偶yciem s艂owa kluczowego auto
      • Przestrzenie nazw i niejawne u偶ycie s艂owa typedef z typami struct, union i enum
      • 艁膮czenie plik贸w obiektowych j臋zyk贸w C i C++
    • G艂贸wne cechy j臋zyka C++
      • Zwi臋z艂e wyra偶anie idei i ponowne wykorzystanie kodu
      • Biblioteka standardowa C++
      • Wyra偶enia lambda
      • Programowanie generyczne z u偶yciem szablon贸w
      • Niezmienniki klas i zarz膮dzanie zasobami
      • Semantyka przenoszenia
    • Zrelaksuj si臋 i ciesz si臋 swoimi nowymi butami
  • Cz臋艣膰 I. J臋zyk C++
    • Rozdzia艂 1. Gotowi do pracy
      • Struktura prostego programu C++
        • Stworzenie pierwszego pliku 藕r贸d艂owego w j臋zyku C++
        • Funkcja main: punkt startowy programu
        • Biblioteki: wykorzystywanie kodu zewn臋trznego
      • Zestaw narz臋dzi kompilatora
        • Konfigurowanie 艣rodowiska programistycznego
        • System Windows 10 i nowsze wersje: Visual Studio
        • System macOS: Xcode
        • System Linux: Xcode
        • Edytory tekstu
      • Rozpocz臋cie samodzielnej pracy z j臋zykiem C++
        • System typ贸w j臋zyka C++
        • Deklarowanie zmiennych
        • Inicjalizowanie stanu zmiennej
        • Instrukcje warunkowe
        • Funkcje
        • Specyfikatory formatowania w funkcji printf
        • Kolejne podej艣cie do funkcji step_function
        • Komentarze
      • Debugowanie
        • Visual Studio
        • Xcode
        • Debugowanie w kompilatorach GCC i Clang za pomoc膮 debugger贸w GDB i LLDB
      • Podsumowanie
    • Rozdzia艂 2. Typy
      • Typy podstawowe
        • Typy ca艂kowite
        • Typy zmiennoprzecinkowe
        • Typy znakowe
        • Typy logiczne
        • Typ std::byte
        • Typ size_t
        • Typ void
      • Tablice
        • Inicjalizacja tablicy
        • Dost臋p do element贸w tablicy
        • Zwi臋z艂a prezentacja p臋tli
        • 艁a艅cuchy w stylu j臋zyka C
      • Typy zdefiniowane przez u偶ytkownika
        • Typy wyliczeniowe
        • Klasy u偶ywaj膮ce tradycyjnych struktur danych
        • Unie
      • W pe艂ni funkcjonalne klasy C++
        • Metody
        • Kontrola dost臋pu
        • Konstruktory
        • Inicjalizacja
        • Destruktor
      • Podsumowanie
    • Rozdzia艂 3. Typy referencyjne
      • Wska藕niki
        • Adresowanie zmiennych
        • Wy艂uskiwanie zmiennych
        • Operator odwo艂ania do sk艂adowej przez wska藕nik
        • Wska藕niki i tablice
        • Wska藕niki s膮 niebezpieczne
        • Wska藕niki void i std::byte
        • Litera艂 nullptr i wyra偶enia logiczne
      • Referencje
      • U偶ycie wska藕nik贸w i referencji
        • Jednokierunkowe listy 艂膮czone: podstawowa struktura oparta na wska藕nikach
        • Stosowanie referencji
        • Wska藕niki this
        • Poprawa bezpiecze艅stwa za pomoc膮 s艂owa kluczowego const
        • Zmienne sk艂adowe const
        • Listy inicjalizacyjne sk艂adowych
      • Dedukcja typu z u偶yciem s艂owa kluczowego auto
        • Inicjalizacja z u偶yciem s艂owa kluczowego auto
        • S艂owo kluczowe auto i typy referencyjne
        • S艂owo kluczowe auto i refaktoryzacja kodu
      • Podsumowanie
    • Rozdzia艂 4. Cykl 偶ycia obiektu
      • Czas przechowywania obiektu
        • Alokacja, dealokacja i czas 偶ycia
        • Zarz膮dzanie pami臋ci膮
        • Automatyczny czas przechowywania
        • Statyczny czas przechowywania
        • Czas przechowywania lokalny dla w膮tku
        • Dynamiczny czas przechowywania
      • 艢ledzenie cyklu 偶ycia obiektu
      • Wyj膮tki
        • S艂owo kluczowe throw
        • U偶ycie blok贸w try-catch
        • Klasy wyj膮tk贸w biblioteki stdlib
        • Obs艂uga wyj膮tk贸w
        • Wyj膮tki definiowane przez u偶ytkownika
        • S艂owo kluczowe noexcept
        • Stos wywo艂a艅 i wyj膮tki
      • Klasa SimpleString
        • Do艂膮czanie 艂a艅cuch贸w i ich wy艣wietlanie
        • U偶ycie klasy SimpleString
        • Wykorzystywanie klasy SimpleString
        • Zwijanie stosu wywo艂a艅
        • Wyj膮tki i wydajno艣膰
        • Alternatywy dla wyj膮tk贸w
      • Semantyka kopiowania
        • Konstruktory kopiuj膮ce
        • Przypisanie kopiuj膮ce
        • Kopiowanie domy艣lne
        • Wskaz贸wki dotycz膮ce kopiowania
      • Semantyka przenoszenia
        • Kopiowanie mo偶e by膰 nieekonomiczne
        • Kategorie warto艣ci
        • Referencje do l-warto艣ci i r-warto艣ci
        • Funkcja std::move
        • Konstruktor przenosz膮cy
        • Przypisanie przenosz膮ce
        • Wersja ko艅cowa
        • Metody generowane przez kompilator
      • Podsumowanie
    • Rozdzia艂 5. Polimorfizm czasu wykonania
      • Polimorfizm
      • Motywuj膮cy przyk艂ad
        • Dodawanie nowych modu艂贸w logowania
        • Interfejsy
        • Sk艂adanie obiekt贸w i dziedziczenie implementacji
      • Definiowanie interfejs贸w
        • Dziedziczenie po klasie nadrz臋dnej
        • Dziedziczenie sk艂adowych
        • Metody wirtualne
        • Czysto wirtualne klasy i wirtualne destruktory
        • Implementacja interfejs贸w
        • U偶ycie interfejs贸w
      • Aktualizacja programu rejestruj膮cego transakcje bankowe
        • Wstrzykiwanie konstruktorem
        • Wstrzykiwanie przez w艂a艣ciwo艣ci
        • Wyb贸r mi臋dzy wstrzykiwaniem konstruktorem a wstrzykiwaniem przez w艂a艣ciwo艣ci
      • Podsumowanie
    • Rozdzia艂 6. Polimorfizm czasu kompilacji
      • Szablony
      • Deklarowanie szablon贸w
        • Definicja szablonu klasy
        • Definicja szablonu funkcji
        • Konkretyzowanie szablon贸w
      • Operatory rzutowania
        • Operator const_cast
        • Operator static_cast
        • Operator reinterpret_cast
        • Operator narrow_cast
      • Przyk艂ad u偶ycia szablonu funkcji: funkcja mean wyznaczaj膮ca 艣redni膮
      • Uog贸lnianie funkcji mean
        • Dedukcja typu szablonu
      • Przyk艂ad u偶ycia klasy szablonowej: SimpleUniquePointer
      • Kontrola typ贸w w szablonach
      • Koncepty
        • Definiowanie konceptu
        • Cechy typu
        • Wymagania
        • Tworzenie koncept贸w z wyra偶e艅 requires
        • U偶ycie koncept贸w
        • Dora藕ne wyra偶enia requires
      • Wyra偶enie static_assert: rozwi膮zanie tymczasowe dla kodu bez koncept贸w
      • Parametry szablonowe nieb臋d膮ce typami
      • Szablony wariadyczne
      • Zaawansowane zagadnienia zwi膮zane z szablonami
        • Specjalizacja szablonu
        • Wi膮zanie nazw
        • Funkcja typu
        • Metaprogramowanie szablon贸w
      • Organizacja kodu 藕r贸d艂owego szablon贸w
      • Polimorfizm czasu kompilacji a polimorfizm czasu wykonania
      • Podsumowanie
    • Rozdzia艂 7. Wyra偶enia
      • Operatory
        • Operatory logiczne
        • Operatory arytmetyczne
        • Operatory przypisania
        • Operatory inkrementacji i dekrementacji
        • Operatory por贸wnania
        • Operatory dost臋pu do sk艂adowych
        • Tr贸jargumentowy operator warunkowy
        • Operator przecinkowy
        • Przeci膮偶enie operatora
        • Przeci膮偶anie operatora new
        • Priorytet i 艂膮czno艣膰 operator贸w
        • Kolejno艣膰 ewaluacji
      • Litera艂y definiowane przez u偶ytkownika
      • Konwersje typ贸w
        • Niejawne konwersje typ贸w
        • Jawne konwersje typ贸w
        • Rzutowania w stylu C
        • Konwersje typ贸w definiowane przez u偶ytkownika
      • Wyra偶enia sta艂e
        • Kolorowy przyk艂ad
        • U偶ycie s艂owa kluczowego constexpr
      • Wyra偶enia volatile
      • Podsumowanie
    • Rozdzia艂 8. Instrukcje
      • Instrukcje wyra偶e艅
      • Instrukcje z艂o偶one
      • Instrukcje deklaracji
        • Funkcje
        • Przestrzenie nazw
        • Aliasy typ贸w
        • Wi膮zania strukturalne
        • Atrybuty
      • Instrukcje wyboru
        • Instrukcje if
        • Instrukcje switch
      • Instrukcje iteracyjne
        • P臋tle while
        • P臋tle do-while
        • P臋tle for
        • P臋tle for oparte na zakresie
      • Instrukcje skoku
        • Instrukcje break
        • Instrukcje continue
        • Instrukcje goto
      • Podsumowanie
    • Rozdzia艂 9. Funkcje
      • Deklaracje funkcji
        • Modyfikatory przedrostkowe
        • Modyfikatory przyrostkowe
      • Typy zwracane auto
      • U偶ycie s艂owa kluczowego auto w szablonach funkcji
      • Rozwi膮zywanie przeci膮偶enia
      • Funkcje wariadyczne
      • Szablony wariadyczne
        • Programowanie z u偶yciem pakietu parametr贸w
        • Ponowne zaprogramowanie funkcji sum
        • Wyra偶enia fold
      • Wska藕niki do funkcji
        • Deklaracja wska藕nika do funkcji
        • Aliasy typ贸w i wska藕niki do funkcji
      • Operator wywo艂ania funkcji
      • Przyk艂adowa funkcja zliczaj膮ca
      • Wyra偶enia lambda
        • U偶ycie
        • Parametry i tre艣膰 wyra偶enia lambda
        • Argumenty domy艣lne
        • Generyczne wyra偶enia lambda
        • Typy zwracane w wyra偶eniach lambda
        • Przechwytywanie w wyra偶eniu lambda
        • Wyra偶enia lambda ze specyfikatorem constexpr
      • Klasa std::function
        • Deklarowanie obiektu klasy function
        • Przyk艂ad zaawansowany
      • Funkcja main i wiersz polece艅
        • Trzy przeci膮偶enia funkcji main
        • Analiza parametr贸w programu
        • Bardziej zaawansowany przyk艂ad
        • Status zako艅czenia programu
      • Podsumowanie
  • Cz臋艣膰 II. BIBLIOTEKI I PLATFORMY
    • Rozdzia艂 10. Testowanie
      • Testy jednostkowe
        • Testy integracyjne
        • Testy akceptacyjne
        • Testy wydajno艣ciowe
      • Zaawansowany przyk艂ad: operacja hamowania
        • Implementacja klasy AutoBrake
        • Projektowanie sterowane testami (TDD)
        • Stworzenie szkieletu klasy AutoBrake
        • Dodawanie interfejsu do magistrali us艂ugowej
      • Testy jednostkowe i platformy imitacyjne
        • Catch: platforma zarz膮dzaj膮ca testami jednostkowymi
        • Google Test
        • Boot Test
        • Podsumowanie: platformy testuj膮ce
      • Platformy imitacyjne
        • Google Mock
        • HippoMock
        • Inne platformy imitacyjne: FakeIt i Trompeloeil
      • Podsumowanie
    • Rozdzia艂 11. Wska藕niki inteligentne
      • Wska藕niki inteligentne
      • Modele w艂asno艣ci wska藕nik贸w inteligentnych
      • Wska藕niki scoped_ptr
        • Konstruowanie
        • Stworzenie 艣rodowiska testowego
        • Niejawna konwersja na typ logiczny na podstawie prawa w艂asno艣ci
        • Opakowanie RAII
        • Semantyka wska藕nikowa
        • Por贸wnywanie z warto艣ci膮 nullptr
        • Zamiana
        • Resetowanie i podmiana wska藕nik贸w scoped_ptr
        • Brak prawa przenoszenia
        • Typ boost::scoped_array
        • Skr贸cona lista wspieranych operacji
      • Wska藕niki unique_ptr
        • Konstruowanie
        • Wspierane operacje
        • W艂asno艣膰 wy艂膮czna i przenaszalna
        • Tablice wska藕nik贸w unique_ptr
        • Dealokatory
        • U偶ycie w艂asnych dealokator贸w w programowaniu systemowym
        • Skr贸cona lista wspieranych operacji
      • Wska藕niki shared_ptr
        • Konstruowanie
        • Okre艣lanie alokatora
        • Wspierane operacje
        • W艂asno艣膰 niewy艂膮czna i przenaszalna
        • Tablice shared_ptr
        • Dealokatory
        • Skr贸cona lista wspieranych operacji
      • Wska藕niki weak_ptr
        • Konstruowanie
        • Uzyskiwanie tymczasowego prawa w艂asno艣ci
        • Wzorce zaawansowane
        • Wspierane operacje
      • Wska藕niki instrusive_ptr
      • Podsumowanie opcji zwi膮zanych ze wska藕nikami inteligentnymi
      • Alokatory
      • Podsumowanie
      • 膯wiczenia
    • Rozdzia艂 12. Narz臋dzia
      • Struktury danych
        • Klasa tribool
        • Klasa optional
        • Klasa pair
        • Klasa tuple
        • Klasa any
        • Klasa variant
      • Data i czas
        • Biblioteka DateTime z pakietu Boost
        • Biblioteka Chrono
      • Narz臋dzia numeryczne
        • Funkcje numeryczne
        • Liczby zespolone
        • Sta艂e matematyczne
        • Liczby losowe
        • Limity numeryczne
        • Konwersje numeryczne w bibliotece Boost
        • Arytmetyka liczb wymiernych w czasie kompilacji
      • Podsumowanie
    • Rozdzia艂 13. Kontenery
      • Kontenery sekwencyjne
        • Kontenery array
        • Kontenery vector
        • Rzadziej u偶ywane kontenery sekwencyjne
      • Kontenery asocjacyjne
        • Kontener set
        • Kontener multiset
        • Kontener map
        • Rzadziej u偶ywane kontenery asocjacyjne
      • Grafy i drzewa w艂a艣ciwo艣ci
      • Biblioteka Boost Graph Library
      • Drzewa w艂a艣ciwo艣ci w bibliotece Boost
      • Kontener initializer_list
      • Podsumowanie
      • 膯wiczenia
    • Rozdzia艂 14. Iteratory
      • Kategorie iterator贸w
        • Iteratory wyj艣ciowe
        • Iteratory wej艣ciowe
        • Iteratory post臋puj膮ce
        • Iteratory dwukierunkowe
        • Iteratory o dost臋pie swobodnym
        • Iteratory ci膮g艂e
        • Iteratory mutowalne
      • Pomocnicze funkcje iterator贸w
        • Funkcja std::advance
        • Funkcje std::next i std::prev
        • Funkcje std::distance
        • Funkcje std::iter_swap
      • Dodatkowe adaptery iterator贸w
        • Adaptery iterator贸w przenosz膮cych
        • Adaptery iterator贸w wstecznych
      • Podsumowanie
    • Rozdzia艂 15. 艁a艅cuchy
      • Typ std::string
        • Konstruowanie
        • Zarz膮dzanie pami臋ci膮 i optymalizacje niewielkich 艂a艅cuch贸w
        • Dost臋p do element贸w i iterator贸w
        • Por贸wnywanie 艂a艅cuch贸w
        • Przetwarzanie element贸w
        • Wyszukiwanie
        • Konwersje numeryczne
      • Widok na 艂a艅cuch
        • Konstruowanie
        • Operacje wspierane przez klas臋 string_view
        • Prawa w艂asno艣ci, u偶ycie i wydajno艣膰
      • Wyra偶enia regularne
        • Wzorce
        • Klasa basic_regex
        • Algorytmy
      • Algorytmy zwi膮zane z 艂a艅cuchami dost臋pne w pakiecie Boost
        • Zakresy biblioteki Boost
        • Predykaty
        • Klasyfikatory
        • Wyszukiwacze
        • Algorytmy modyfikuj膮ce
        • Dzielenie i 艂膮czenie
        • Wyszukiwanie
      • Tokenizer z pakietu Boost
      • Lokalizacje
      • Podsumowanie
    • Rozdzia艂 16. Strumienie
      • Strumienie
        • Klasy strumieni
        • Stan strumienia
        • Buforowanie i opr贸偶nianie bufora
        • Manipulatory
        • Typy zdefiniowane przez u偶ytkownika
        • Strumienie zwi膮zane z 艂a艅cuchami
        • Strumienie plikowe
        • Bufory strumieniowe
        • Dost臋p swobodny
      • Podsumowanie
    • Rozdzia艂 17. Systemy plik贸w
      • Poj臋cia dotycz膮ce systemu plik贸w
      • Klasa std::filesystem::path
        • Tworzenie 艣cie偶ek
        • Dzielenie 艣cie偶ek na cz臋艣ci sk艂adowe
        • Modyfikowanie 艣cie偶ek
        • Podsumowanie metod zwi膮zanych z systemem plik贸w dost臋pnych w klasie path
      • Pliki i katalogi
        • Obs艂uga b艂臋d贸w
        • Funkcje tworz膮ce 艣cie偶k臋
        • Sprawdzanie typ贸w plik贸w
        • Sprawdzanie plik贸w i katalog贸w
        • Modyfikowanie plik贸w i katalog贸w
      • Iteratory katalog贸w
        • Konstruowanie
        • Elementy katalogu
        • Rekurencyjne iterowanie po katalogach
      • Wykorzystanie strumieni fstream
      • Podsumowanie
    • Rozdzia艂 18. Algorytmy
      • Z艂o偶ono艣膰 obliczeniowa algorytm贸w
      • Zasady wykonywania
      • Operacje niemodyfikuj膮ce kolekcje
        • Algorytm all_of
        • Algorytm any_of
        • Algorytm none_of
        • Algorytm for_each
        • Algorytm for_each_n
        • Algorytmy find, find_if i find_if_not
        • Algorytm find_end
        • Algorytm find_first_of
        • Algorytm adjacent_find
        • Algorytmy count i count_if
        • Algorytm mismatch
        • Algorytm equal
        • Algorytm is_permutation
        • Algorytm search
        • Algorytm search_n
      • Operacje modyfikuj膮ce kolekcje
        • Algorytm copy
        • Algorytm copy_n
        • Algorytm copy_backward
        • Algorytm move
        • Algorytm move_backward
        • Algorytm swap_ranges
        • Algorytm transform
        • Algorytm replace
        • Algorytm fill
        • Algorytm generate
        • Algorytm remove
        • Algorytm unique
        • Algorytm reverse
        • Algorytm sample
        • Algorytm shuffle
      • Operacje zwi膮zane z sortowaniem
        • Algorytm sort
        • Algorytm stable_sort
        • Algorytm partial_sort
        • Algorytm is_sorted
        • Algorytm nth_element
      • Wyszukiwanie binarne
        • Algorytm lower_bound
        • Algorytm upper_bound
        • Algorytm equal_range
        • Algorytm binary_search
      • Algorytmy oparte na podzia艂ach
        • Algorytm is_partitioned
        • Algorytm partition
        • Algorytm partition_copy
        • Algorytm stable_partition
      • Algorytmy scalaj膮ce
        • Algorytm merge
      • Algorytmy warto艣ci ekstremalnych
        • Algorytmy min i max
        • Algorytmy min_element i max_element
        • Algorytm clamp
      • Operacje numeryczne
        • Przydatne operatory
        • Algorytm iota
        • Algorytm accumulate
        • Algorytm reduce
        • Algorytm inner_product
        • Algorytm adjacent_difference
        • Algorytm partial_sum
        • Inne algorytmy
      • Biblioteka Boost Algorithm
    • Rozdzia艂 19. Wsp贸艂bie偶no艣膰 i r贸wnoleg艂o艣膰
      • Programowanie wsp贸艂bie偶ne
        • Zadania asynchroniczne
        • Wsp贸艂dzielenie i koordynacja
        • Niskopoziomowe funkcje zwi膮zane ze wsp贸艂bie偶no艣ci膮
      • Algorytmy r贸wnoleg艂e
        • Przyk艂ad: sortowanie r贸wnoleg艂e
        • Algorytmy r贸wnoleg艂e nie s膮 magiczne
      • Podsumowanie
    • Rozdzia艂 20. Programowanie sieciowe z u偶yciem biblioteki Boost Asio
      • Model programowania biblioteki Boost Asio
      • Programowanie sieciowe z u偶yciem biblioteki Asio
        • Protok贸艂 internetowy
        • Rozwi膮zywanie nazwy hosta
        • Nawi膮zywanie po艂膮czenia
        • Bufory
        • Odczytywanie danych z bufor贸w i zapisywanie do nich
        • Hypertext Transfer Protocol (HTTP)
        • Implementacja prostego klienta HTTP za pomoc膮 biblioteki Boost Asio
        • Asynchroniczne odczytywanie i zapisywanie
        • Tworzenie serwera
      • Wielow膮tkowo艣膰 biblioteki Boost Asio
      • Podsumowanie
    • Rozdzia艂 21. Tworzenie aplikacji
      • Wsparcie programu
        • Obs艂uga zako艅czenia programu i zwalniania zasob贸w
        • Komunikacja z systemem operacyjnym
        • Obs艂uga sygna艂贸w systemu operacyjnego
      • Biblioteka Boost ProgramOptions
        • Opis opcji
        • Parsowanie opcji
        • Przechowywanie opcji i dost臋p do nich
        • Wykorzystanie zdobytej wiedzy
      • Specyficzne zagadnienia zwi膮zane z kompilacj膮
        • Przywitaj si臋 ponownie z preprocesorem
        • Optymalizacje kompilatora
        • Konsolidacja z j臋zykiem C
      • Podsumowanie
  • Przypisy

Dodaj do koszyka C++. Intensywny kurs

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe nale偶膮 do wydawnictwa Helion S.A.