Podręcznik języka C.Podstawy języka C, jednocześnie wstęp do niniejszej książki

Spis treści

Wstęp O języku C++ Opis i historia O podręczniku Autorzy, źródła, jak czytać ten podręcznik

Część 1: Podstawowe mechanizmy C++ Przestrzenie nazw Wprowadzenie pojęcia przestrzeni nazw, przestrzeń nazw std Zmienne Nowe sposoby deklaracji, kontrola typów w C++, nowe sposoby rzutowania Referencje Porównanie ze wskaźnikami, zastosowanie do przekazywania argumentów do funkcji Rvalue-referencje i przenoszenie wartości Wprowadzony w C++11 mechanizm przenoszenia zawartości obiektów Funkcje inline Krótki opis funkcji inline Przeciążanie funkcji Po co i jak można przeciążać funkcje i jak tego nie da się robić Zarządzanie pamięcią Jak w C++ dynamicznie zarządzać pamięcią z użyciem operatorów new i delete StrumienieObsługa strumieni wejścia i wyjścia, czytanie i pisanie do plików, obiekty std::istream i std::ostream C++11 - wybrane nowe elementy standarduPętla for po kolekcji, typy wyliczeniowe, typy całkowitoliczbowe

Część 2: Podstawy programowania obiektowego Czym jest obiekt Wprowadzenie pojęcia klasy i obiektu, autorekursja, kontrola dostępu Konstruktor i destruktor Konstruktor, konstruktor kopiujący, destruktor Dziedziczenie Dziedziczenie prywatne, publiczne i chronione Składniki statyczne Atrybuty i metody statyczne

Część 3: Zaawansowane programowanie obiektowe Funkcje wirtualne Funkcje wirtualne i abstrakcyjne, wyjaśnienie polimorfizmu i dynamic_cast Programowanie zorientowane obiektowoWyjaśnienie idei programowania zorientowanego obiektowo Obiekty stałeJak tworzyć, możliwe niebezpieczeństwa, słowo kluczowe mutable Przeciążanie operatorów Wprowadzenie przykładu klasy z kompletnym przeciążeniem operatorów Konwersje obiektówPrzeciążenie operatorów konwersji, konstruktor jako sposób konwersji, konstruktory typu explicit Klasy i typy zagnieżdżoneTworzenie klas i typów zagnieżdżonych Dziedziczenie wielokrotneDziedziczenie wielokrotne, dziedziczenie wirtualne oraz problemy z nimi związane

Część 4: Zaawansowane konstrukcje językowe Obsługa wyjątków Obsługa wyjątków w C++, funkcje unexpected() i terminate() Funkcje anonimowe (lambdy) Funkcje anonimowe wprowadzone w C++11 Szablony funkcji Szablony funkcji Szablony klas Szablony klas, programowanie uogólnione Metaprogramowanie Zaawansowanie użycie szablonów, informacje o typach, SFINAE Wskaźniki do elementów składowychWykorzystanie wskaźników do elementów składowych klas

Dodatek A: Biblioteka STL Filozofia STL Jak skonstruowana jest biblioteka STL String Korzystanie z łańcuchów znaków Vector Korzystanie z wektorów List & Slist Listy jedno- i dwukierunkowe SetKorzystanie ze zbiorów MapKorzystanie z odwzorowań Unordered_setKorzystanie ze zbiorów Unordered_mapKorzystanie ze zbiorów StackKorzystanie ze stosu IteratoryKorzystanie z iteratorów Algorytmy w STL Jak działają algorytmy w STL Inne klasy STLKrótkie omówienie pozostałych klas

Dodatek B PrzykładyPrzykłady kodu z komentarzem Ćwiczenia Zadania kontrolne Różnice między C a C++ Najważniejsze różnice między C a C++

Pozostałe Indeks Indeks najważniejszych terminów Zasoby Książki, linki do innych kursów i dokumentacji Dla autorówWskazówki dla osób pragnących pomóc w rozwoju podręcznika Wersja do druku Całość książki na jednej stronie, gotowa do druku Licencja Pełny tekst GNU Free Documentation license