SZCZEGÓŁOWY SPIS TREŚCI
PRZEDMOWA
xxv
PODZIĘKOWANIA
xxix
WSTĘP
xxxi
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxxii xxxiii xxxiii xxxiii xxxiv
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxxvii xxxix xxxix xl xliii xliv xlvi xlvii xlviii xlix li lii liii lvii lviii
CZĘŚĆ I: JĘZYK C++
1
1 GOTOWI DO PRACY
3
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 4 4 5 5 6 6 8