Wstecz:
Programowanie w C++
W górę:
Programowanie w C++
Dalej:
1. Wprowadzenie
Spis treści
1. Wprowadzenie
1.1 Kompilatory
1.1.1 Linux
1.1.2 Windows
1.2 Literatura
2. Zaczynamy
2.1 Najprostsze programy
2.2 Proste operacje We/Wy
2.2.1 Wyprowadzanie danych
2.2.2 Wprowadzanie danych
2.3 Funkcje
2.4 Argumenty wywołania
3. Preprocesor
3.1 Co to jest preprocesor?
3.2 Dyrektywy preprocesora
3.3 Predefiniowane nazwy (makra) preprocesora
4. Podstawowe typy danych
4.1 Wstęp
4.2 Typy całkowite
4.2.1 Użyteczne aliasy typów całkowitych
4.3 Typy zmiennopozycyjne
4.4 Typ logiczny
4.5 Typy wyliczeniowe
4.6 Wskaźniki
4.6.1 Wskaźniki do zmiennych
4.6.2 Wskaźniki generyczne
4.7 Referencje
5. Tablice statyczne i wskaźniki
5.1 Definiowanie tablic
5.2 Typ tablicowy
5.3 Arytmetyka wskaźników
5.4 Tablice znaków (C-napisy)
5.5 Tablice wielowymiarowe
5.5.1 Macierze
5.5.2 Tablice napisów
5.6 Tablice typu std::array
5.7 Wektory (std::vector)
6. Typy „złożone”
6.1 Definiowanie złożonych typów danych
6.2 Specyfikatory typedef i using
7. Zmienne
7.1 Słowa kluczowe i nazwy
7.2 Zasięg i widoczność zmiennych
7.3 Klasy pamięci
7.3.1 Zmienne statyczne
7.3.2 Zmienne zewnętrzne
7.4 Modyfikatory typów
7.4.1 Zmienne ulotne
7.4.2 Stałe
7.5 L-wartości
8. Instrukcje
8.1 Rodzaje instrukcji
8.2 Etykiety
8.3 Deklaracje
8.4 Instrukcja pusta
8.5 Instrukcja grupująca
8.6 Instrukcja wyrażeniowa
8.7 Instrukcja warunkowa
8.8 Instrukcja wyboru (switch)
8.9 Instrukcje iteracyjne (pętle)
8.9.1 Pętla while
8.9.2 Pętla do
8.9.3 Pętla for
8.9.4 Pętla foreach
8.10 Instrukcje zaniechania i kontunuacji
8.11 Instrukcje skoku
8.12 Instrukcje powrotu
8.13 Instrukcje obsługi wyjątków
9. Operatory
9.1 Priorytety i wiązanie
9.2 Przegląd operatorów
9.2.1 Operatory zasięgu
9.2.2 Grupa operatorów o priorytecie 15
9.2.3 Grupa operatorów o priorytecie 14
9.2.4 Grupa operatorów o priorytecie 13
9.2.5 Operatory arytmetyczne
9.2.6 Operatory relacyjne i porównania
9.2.7 Operatory bitowe
9.2.8 Operatory logiczne
9.2.9 Operatory przypisania
9.2.10 Operator warunkowy
9.2.11 Operator zgłoszenia wyjątku
9.2.12 Operator przecinkowy
9.2.13 Alternatywne nazwy operatorów
10. Konwersje niejawne, porządek wartościowania
10.1 Konwersje standardowe
10.2 Porządek wartościowania
11. Funkcje
11.1 Wstęp
11.2 Deklaracje i definicje funkcji
11.3 Wywołanie funkcji
11.4 Argumenty domyślne
11.5 Zmienna liczba argumentów
11.6 Argumenty referencyjne
11.7 Referencje jako wartości zwracane funkcji
11.8 Funkcje rekurencyjne
11.9 Funkcje statyczne
11.10 Funkcje rozwijane
11.11 Przeciążanie funkcji
11.12 Wskaźniki funkcyjne
11.13 Funkcje lambda
11.14 Szablony funkcji
12. Zarządzanie pamięcią
12.1 Wstęp
12.2 Przydzielanie pamięci — operator new
12.3 Zwalnianie pamięci — operator delete
12.4 Dynamiczne tablice wielowymiarowe
12.5 Zarządzanie pamięcią w C
12.6 Funkcje operujące na pamięci
12.7 Lokalizujący przydział pamięci
13. C-struktury i unie
13.1 C-struktury
13.2 Szablony struktur
13.3 Unie
14. Klasy (I)
14.1 Wstęp
14.2 Dostępność składowych
14.3 Pola klasy
14.4 Metody
14.5 Statyczne funkcje składowe
14.6 Konstruktory
14.7 Destruktory
14.8 Tworzenie obiektów
14.9 Tablice obiektów
14.10 Pola bitowe
15. Klasy (II)
15.1 Metody stałe
15.1.1 Pola mutable
15.2 Metody ulotne
15.3 Konstruktory – dalsze szczegóły
15.3.1 Konstruktory kopiujące
15.3.2 Listy inicjalizacyjne
15.4 Funkcje zaprzyjaźnione
15.5 Klasy zagnieżdżone
15.6 Wskaźniki do składowych
16. Operacje wejścia/wyjścia
16.1 Strumienie
16.1.1 Strumienie predefiniowane
16.2 Operatory << i >>
16.3 Formatowanie
16.3.1 Flagi formatowania
16.3.2 Manipulatory
16.4 Zapis i odczyt nieformatowany
16.4.1 Odczyt nieformatowany
16.4.2 Zapis nieformatowany
16.5 Pliki
16.6 Obsługa błędów strumieni
16.7 Pliki wewnętrzne
16.7.1 Tablice znaków jako pliki wewnętrzne
16.7.2 Napisy C++ jako pliki wewnętrzne
17. Napisy
17.1 C-napisy
17.1.1 Funkcje operujące na C-napisach
17.1.2 Funkcje operujące na znakach
17.1.3 Funkcje konwertujące
17.2 Napisy w C++
17.2.1 Konstruktory
17.2.2 Metody i operatory
18. Wzorce
18.1 Szablony klas
19. Przeciążanie operatorów. Semantyka przenoszenia i inteligentne wskaźniki
19.1 Wstęp
19.2 Przeciążenia za pomocą funkcji globalnych
19.2.1 Operatory dwuargumentowe
19.2.2 Operatory jednoargumentowe
19.3 Przeciążenia za pomocą metod klasy
19.3.1 Operatory dwuargumentowe
19.3.2 Operatory jednoargumentowe
19.4 Operatory „specjalne”
19.4.1 Operator przypisania
19.4.2 Operator indeksowania
19.4.3 Operator wywołania
19.4.4 Operator wyboru składowej przez wskaźnik
19.5 Semantyka przenoszenia
19.6 Inteligentne wskaźniki
19.6.1 Inteligentne wskaźniki typu unique_ptr
19.6.2 Inteligentne wskaźniki typu shared_ptr
20. Jeszcze o konwersjach
20.1 Konwersje od i do typu definiowanego
20.1.1 Konwersja do typu definiowanego
20.1.2 Konwersja od typu definiowanego
20.2 Konwersje jawne
20.2.1 Konwersje uzmienniające
20.2.2 Konwersje statyczne
20.2.3 Konwersje dynamiczne
20.2.4 Konwersje wymuszane
21. Dziedziczenie i polimorfizm
21.1 Podstawy dziedziczenia
21.2 Konstruktory i destruktory klas pochodnych
21.3 Operator przypisania dla klas pochodnych
21.4 Metody wirtualne i polimorfizm
21.5 Klasy abstrakcyjne
21.6 Wirtualne destruktory
21.7 Wielodziedziczenie
22. Wyjątki
22.1 Zgłaszanie wyjątków
22.2 Wychwytywanie wyjątków
22.3 Hierarchie wyjątków
22.4 Wyjątki w konstruktorach i destruktorach
22.5 Specyfikacje wyjątków
22.6 Ponawianie wyjątku
22.7 Standardowe wyjątki
23. Moduły i przestrzenie nazw
23.1 Moduły programu
23.1.1 Pliki nagłówkowe i implementacyjne
23.2 Przestrzenie nazw
24. Biblioteka standardowa
24.1 Kolekcje i iteratory
24.1.1 Wektory
24.1.2 Iteratory
24.1.3 Operacje na kolekcjach
24.2 Algorytmy i obiekty funkcyjne
24.2.1 Algorytmy
24.2.2 Obiekty funkcyjne
24.3 Przykłady
24.4 Lista algorytmów
25. Dynamiczna identyfikacja typu
25.1 Operator typeid
25.2 Operator dynamic_cast
Skorowidz
Wstecz:
Programowanie w C++
W górę:
Programowanie w C++
Dalej:
1. Wprowadzenie
T.R. Werner, 23 lutego 2022; 19:40