E-book details

C++. Podróż po języku dla zaawansowanych. Wydanie III

C++. Podróż po języku dla zaawansowanych. Wydanie III

Bjarne Stroustrup

Ebook

C++ zmienił się nie do poznania: jest nowocześniejszy, bardziej precyzyjny, pozwala też na pisanie zwięzłego i efektywnego kodu. Programista ma dokładniejszą kontrolę nad działaniem programu, co przekłada się na szybkość pracy i lepsze wykorzystywanie zasobów sprzętowych. Dodatkowo ekosystem C++ oferuje mnóstwo bibliotek, narzędzi czy środowisk programistycznych. Aby jednak pisać w nim dobry kod, trzeba sprawnie poruszać się po świecie C++.

To drugie wydanie zwięzłego przewodnika po C++ dla doświadczonych programistów, zaktualizowane do standardu C++20. Dzięki niemu zaznajomisz się z najważniejszymi elementami języka i biblioteki standardowej, koniecznymi do efektywnej pracy w takich stylach programowania jak programowanie zorientowane obiektowo czy generyczne. W tym wydaniu opisano wiele nowych elementów dodanych w C++20, w tym moduły, koncepcje, współprocedury i zakresy. Omówiono też wybrane komponenty biblioteki, które pojawią się dopiero w standardzie C++23.

Jeśli jesteś programistą C lub C++ i zależy Ci, by lepiej poznać najnowsze możliwości języka C++, albo biegle posługujesz się innym językiem programowania i chcesz ogólnie zaznajomić się z zaletami nowoczesnego C++ ― nie znajdziesz bardziej zwięzłego i prostszego przewodnika niż ten.

W książce między innymi:

  • nowe możliwości języka w standardzie C++20
  • moduły, klasy i obsługa błędów
  • operacje, zarządzanie zasobami i wejście-wyjście
  • generatory, potoki, kontenery
  • współbieżność i wielozadaniowość

Oto nowoczesny C++: poznaj jego ukryte możliwości!

Wstęp

1. Podstawy

  • 1.1 Wprowadzenie
  • 1.2 Programy
  • 1.3 Funkcje
  • 1.4 Typy, zmienne i arytmetyka
  • 1.5 Zakres i cykl istnienia
  • 1.6 Stałe
  • 1.7 Wskaźniki, tablice i referencje
  • 1.8 Testy
  • 1.9 Mapowanie sprzętowe
  • 1.10 Porady

2. Typy zdefiniowane przez użytkownika

  • 2.1 Wprowadzenie
  • 2.2 Struktury
  • 2.3 Klasy
  • 2.4 Wyliczenia
  • 2.5 Unie
  • 2.6 Porady

3. Moduły

  • 3.1 Wprowadzenie
  • 3.2 Kompilacja rozdzielna
  • 3.3 Przestrzenie nazw
  • 3.4 Argumenty i wartości zwrotne funkcji
  • 3.5 Porady

4. Obsługa błędów

  • 4.1 Wprowadzenie
  • 4.2 Wyjątki
  • 4.3 Niezmienniki
  • 4.4 Różne sposoby obsługi błędów
  • 4.5 Asercje
  • 4.6 Porady

5. Klasy

  • 5.1 Wprowadzenie
  • 5.2 Typy konkretne
  • 5.3 Typy abstrakcyjne
  • 5.4 Funkcje wirtualne
  • 5.5 Hierarchie klas
  • 5.6 Porady

6. Operacje podstawowe

  • 6.1 Wprowadzenie
  • 6.2 Kopiowanie i przenoszenie
  • 6.3 Zarządzanie zasobami
  • 6.4 Przeciążanie operatorów
  • 6.5 Operacje standardowe
  • 6.6 Literały zdefiniowane przez użytkownika
  • 6.7 Porady

7. Szablony

  • 7.1 Wprowadzenie
  • 7.2 Typy parametryzowane
  • 7.3 Operacje parametryzowane
  • 7.4 Mechanizmy szablonów
  • 7.5 Porady

8. Koncepcje i programowanie generyczne

  • 8.1 Wprowadznie
  • 8.2 Koncepcje
  • 8.3 Programowanie generyczne
  • 8.4 Szablony zmienne
  • 8.5 Model kompilacji szablonów
  • 8.6 Porady

9. Podstawowe informacje o bibliotece

  • 9.1 Wprowadzenie
  • 9.2 Komponenty biblioteki standardowej
  • 9.3 Organizacja biblioteki standardowej
  • 9.4 Porady

10. Łańcuchy i wyrażenia regularne

  • 10.1 Wprowadzenie
  • 10.2 Łańcuchy
  • 10.3 Widoki łańcuchów
  • 10.4 Wyrażenia regularne
  • 10.5 Porady

11. Wejście i wyjście

  • 11.1 Wprowadzenie
  • 11.2 Wyjście
  • 11.3 Wejście
  • 11.4 Stan wejścia i wyjścia
  • 11.5 Wejście i wyjście typów zdefiniowanych przez użytkownika
  • 11.6 Formatowanie wyjścia
  • 11.7 Strumienie
  • 11.8 Wejście i wyjście w stylu języka C
  • 11.9 System plików
  • 11.10 Porady

12. Kontenery

  • 12.1 Wprowadzenie
  • 12.2 Typ vector
  • 12.3 Listy
  • 12.4 forward_list
  • 12.5 Słowniki
  • 12.6 Słowniki nieuporządkowane
  • 12.7 Alokatory
  • 12.8 Przegląd kontenerów
  • 12.9 Porady

13. Algorytmy

  • 13.1 Wprowadzenie
  • 13.2 Zastosowania iteratorów
  • 13.3 Typy iteratorów
  • 13.4 Predykaty
  • 13.5 Przegląd algorytmów
  • 13.6 Algorytmy równoległe
  • 13.7 Porady

14. Zakresy

  • 14.1 Wprowadzenie
  • 14.2 Widoki
  • 14.3 Generatory
  • 14.4 Potoki
  • 14.5 Koncepcje - informacje ogólne
  • 14.6 Porady

15. Wskaźniki i kontenery

  • 15.1 Wprowadzenie
  • 15.2 Wskaźniki
  • 15.3 Kontenery
  • 15.4 Alternatywy
  • 15.5 Porady

16. Narzędzia pomocnicze

  • 16.1 Wprowadzenie
  • 16.2 Czas
  • 16.3 Adaptacja funkcji
  • 16.4 Funkcje typów
  • 16.5 source_location
  • 16.6 move() i forward()
  • 16.7 Manipulowanie bitami
  • 16.8 Zamykanie programu
  • 16.9 Porady

17. Liczby

  • 17.1 Wprowadzenie
  • 17.2 Funkcje matematyczne
  • 17.3 Algorytmy numeryczne
  • 17.4 Liczby zespolone
  • 17.5 Liczby losowe
  • 17.6 Arytmetyka wektorowa
  • 17.7 Granice numeryczne
  • 17.8 Aliasy typów
  • 17.9 Stałe matematyczne
  • 17.10 Porady

18. Współbieżność

  • 18.1 Wprowadzenie
  • 18.2 Zadania i wątki
  • 18.3 Wspólne używanie danych
  • 18.4 Oczekiwanie na zdarzenia
  • 18.5 Komunikacja między zadaniami
  • 18.6 Współprocedury
  • 18.7 Porady

19. Historia i zgodność

  • 19.1 Historia
  • 19.2 Ewolucja funkcjonalności C++
  • 19.3 Zgodność C i C++
  • 19.4 Bibliografia
  • 19.5 Porady

A. Moduł std

  • A.1 Wprowadzenie
  • A.2 Używaj tego, co masz w implementacji
  • A.3 Używaj nagłówków
  • A.4 Stwórz własny moduł std
  • A.5 Porady

Skorowidz

  • Title: C++. Podróż po języku dla zaawansowanych. Wydanie III
  • Author: Bjarne Stroustrup
  • Original title: A Tour of C++ (C++ In-Depth Series), 3rd Edition
  • Translation: Łukasz Piwko
  • ISBN: 978-83-8322-526-5, 9788383225265
  • Date of issue: 2023-07-11
  • Format: Ebook
  • Item ID: cppoz3
  • Publisher: Helion