Recenzja książki Symfonia C++ Standard! Jerzy Grębosz
  Menu główne
  Linki
Symfonia C++ Standard - spis treści tom1

Zamów symfonię!

TOM 1

0 Proszę nie czytać tego !
1 Startujemy!
1.1 Pierwszy program
1.2 Drugi program
1.3 Ćwiczenia

2 Instrukcje sterujące
2.1 Prawda – Fałsz, czyli o warunkach
2.1.1 Wyrażenie logiczne
2.1.2 Zmienne logiczne bool jako warunek
2.1.3 Stare dobre sposoby z dawnego C++
2.2 Instrukcja warunkowa if
2.3 Pętla while
2.4 Pętla do...while...
2.5 Pętla for
2.6 Instrukcja switch
2.7 Co wybrać: switch czy if...else?
2.8 Instrukcja break
2.9 Instrukcja goto
2.10 Instrukcja continue
2.11 Klamry w instrukcjach sterujących
2.12 Ćwiczenia

3 Typy
3.1 Deklaracje typów
3.2 Systematyka typów z języka C++
3.3 Typy fundamentalne
3.3.1 Definiowanie obiektów „w biegu“.
3.4 Stałe dosłowne
3.4.1 Stałe będące liczbami całkowitymi
3.4.2 Stałe reprezentujące liczby zmiennoprzecinkowe
3.4.3 Stałe znakowe
3.4.4 Stałe tekstowe, napisy, albo po prostu stringi
3.5 Typy złożone
3.6 Typ void
3.7 Zakres ważności nazwy obiektu, a czas życia obiektu
3.7.1 Zakres: lokalny
3.7.2 Zakres: blok funkcji
3.7.3 Zakres: obszar pliku
3.7.4 Zakres: obszar klasy
3.7.5 Zakres określony przez przestrzeń nazw
3.8 Zasłanianie nazw
3.9 Specyfikator (przydomek) const
3.9.1 Pojedynek: const con tra #define
3.10 Obiekty register
3.11 Specyfikator volatile
3.12 Instrukcja typedef
3.13 Typy wyliczeniowe enum
3.14 Ćwiczenia

4 Operatory
4.1 Operatory arytmetyczne
4.1.1 Op er a tor %, czyli reszta z dzielenia (modulo)
4.1.2 Jednoargumentowe operatory + i -
4.1.3 Operatory inkrementacji i dekrementacji
4.1.4 Operator przypisania =
4.2 Operatory logiczne
4.2.1 Operatory relacji
4.2.2 Operatory sumy logicznej || i iloczynu logicznego &&
4.2.3 Wykrzyknik ! – czyli op er a tor negacji
4.3 Operatory bitowe
4.3.1 Przesunięcie w lewo <<
4.3.2 Przesunięcie w prawo >>
4.3.3 Bitowe operatory sumy, iloczynu, negacji, różnicy symetrycznej
4.4 Różnica między operatorami logicznymi, a operatorami bitowymi
4.5 Pozostałe operatory przypisania
4.6 Wyrażenie warunkowe
4.7 Operator sizeof
4.8 Operatory rzutowania
4.8.1 Rzutowanie według tradycyjnych (nie zalecanych) sposobów
4.8.2 Rzutowanie za pomocą nowych operatorów rzutowania
4.8.3 Opera tor static_cast
4.8.4 Opera tor const_cast
4.8.5 Opera tor dynamic_cast
4.8.6 Opera tor reinterpret_cast
4.9 Operator: przecinek
4.10 Priorytety operatorów
4.11 ?ączność operatorów
4.12 Ćwiczenia

5 Funkcje
5.1 Funkcja często wywołuje inną funkcję
5.2 Zwracanie rezultatu przez funkcję
5.3 Stos
5.4 Przesyłanie argumentów do funkcji przez wartość
5.5 Przesyłanie argumentów przez referencję
5.6 Kiedy deklaracja funkcji nie jest konieczna?
5.7 Argumenty domniemane
5.7.1 Ciekawostki na temat argumentów domniemanych
5.8 Nienazwany argument
5.9 Funkcje inline (w linii)
5.10 Przypomnienie o zakresie ważności nazw deklarowanych wewnątrz funkcji
5.11 Wybór zakresu ważności nazwy i czasu życia obiektu
5.11.1 Obiekty globalne
5.11.2 Obiekty automatyczne
5.11.3 Obiekty lokalne statyczne
5.12 Funkcje w programie składającym się z kilku plików
5.12.1 Nazwy statyczne globalne
5.13 Funkcje rekurencyjne
5.14 Funkcje biblioteczne
5.15 Ćwiczenia

6 Preprocesor
6.1 Na pomoc rodakom
6.2 Dyrektywa #define
6.3 Dyrektywa #undef
6.4 Makrodefinicje
6.5 Sklejacz nazw, czyli operator ##
6.6 Zamiana parametru aktualnego makrodefinicji na string
6.7 Dyrektywy kompilacji warunkowej
6.8 Dyrektywa #error
6.9 Dyrektywa #line
6.10 Wstawianie treści innych plików w tekst kompilowanego właśnie pliku
6.11 Dyrektywa pusta
6.12 Dyrektywy zależne od implementacji
6.13 Nazwy predefiniowane
6.14 Ćwiczenia

7 Tablice
7.1 Elementy tablicy
7.2 Inicjalizacja tablic
7.3 Przekazywanie tablicy do funkcji
7.4 Przykład z tablicą elementów typu enum
7.5 Tablice znakowe
7.6 Tablice wielowymiarowe
7.6.1 Typ wyrażeń związanych z tablicą wielowymiarową
7.6.2 Przesyłanie tablic wielowymiarowych do funkcji
7.7 Ćwiczenia

8 Wskaźniki
8.1 Wskaźniki mogą bardzo ułatwić życie
8.2 Definiowanie wskaźników
8.3 Praca ze wskaźnikiem
8.4 L–wartość
8.5 Operator rzutowania reinterpret_cast, a wskaźniki
8.6 Wskaźniki typu void
8.7 Cztery domeny zastosowania wskaźników
8.8 Zastosowanie wskaźników wobec tablic
8.8.1 Ćwiczenia z mechaniki ruchu wskaźnika
8.8.2 Użycie wskaźnika w pracy z tablicą
8.8.3 Arytmetyka wskaźników
8.8.4 Porównywanie wskaźników
8.8.5 Wskaźnik można porównać z adresem 0
8.9 Zastosowanie wskaźników w argumentach funkcji
8.9.1 Jeszcze raz o przesyłaniu tablic do funkcji
8.9.2 Odbieranie tablicy jako wskaźnika
8.9.3 Ar gu ment formalny będący wskaźnikiem do obiektu const
8.10 Zastosowanie wskaźników przy dostępie do konkretnych komórek pamięci
8.11 Rezerwacja obszarów pamięci
8.11.1 Operatory new i delete albo Oratorium Stworzenie Świata
8.11.2 Dynamiczna alokacja tablicy
8.11.3 Tablice wielowymiarowe tworzone operatorem new
8.11.4 Umiejscawiający operator new
8.11.5 "Przychodzimy, odchodzimy – cichuteńko, na..."
8.11.6 Zapas pamięci to nie jest studnia bez dna
8.11.7 Funkcja set_new_handler
8.11.8 Pojedynek: new con tra malloc
8.12 Stałe wskaźniki
8.13 Stałe wskaźniki, a wskaźniki do stałych
8.14 Strzał na oślep – Wskaźnik zawsze pokazuje na coś
8.15 Sposoby ustawiania wskaźników
8.16 Parada kłamców, czyli o rzutowaniu const_cast
8.17 Tablice wskaźników
8.18 Wariacje na temat C-stringów
8.19 Wskaźniki do funkcji
8.19.1 Ćwiczenia z definiowania wskaźników do funkcji
8.19.2 Wskaźnik do funkcji jako ar gu ment innej funkcji
8.19.3 Tablica wskaźników do funkcji
8.20 Argumenty z linii wywołania programu
8.21 Ćwiczenia

9 Przeładowanie nazwy funkcji
9.1 Co to znaczy: przeładowanie
9.2 Bliższe szczegóły przeładowania
9.3 Czy przeładowanie nazw funkcji jest techniką obiektowo orientowaną?
9.4 Linkowanie z modułami z innych języków
9.5 Przeładowanie, a zakres ważności deklaracji funkcji
9.6 Rozważania o identyczności lub odmienności typów argumentów
9.6.1 Przeładowanie, a typedef i enum
9.6.2 Tablica, a wskaźnik
9.6.3 Pewne szczegóły o tablicach wielowymiarowych
9.6.4 Przeładowanie, a referencja
9.6.5 Identyczność typów: T, const T, vol a tile T
9.6.6 Przeładowanie – a typy: T*, vol a tile T*, const T*
9.6.7 Przeładowanie – a typy: T&, vol a tile T&, const T&
9.7 Adres funkcji przeładowanej
9.7.1 Zwrot rezultatu będącego adresem funkcji przeładowanej
9.8 Kulisy dopasowywania argumentów do funkcji przeładowanych
9.9 Etapy dopasowania
9.9.1 Etap 1. Dopasowanie dokładne
9.9.2 Etap 1a. Dopasowanie dokładne, ale z tzw. trywialną konwersją
9.9.3 Etap 2. Dopasowanie z awansem (z promocją)
9.9.4 Etap 3. Próba dopasowania za pomocą konwersji standardowych
9.9.5 Etap 4. Próba dopasowania z użyciem konwersji zdefiniowanych przez użytkownika.
9.9.6 Etap 5. Próba dopasowania do funkcji z wielokropkiem
9.9.7 Wskaźników nie dopasowuje się inaczej niż dosłownie
9.10 Dopasowywanie wywołań z kilkoma argumentami
9.11 Ćwiczenia

10 Klasy
10.1 Typy definiowane przez użytkownika
10.2 Składniki klasy
10.3 Składnik będący obiektem
10.4 Enkapsulacja
10.5 Ukrywanie informacji
10.6 Klasa, a obiekt
10.7 Funkcje składowe
10.7.1 Posługiwanie się funkcjami składowymi
10.7.2 Definiowanie funkcji składowych
10.8 Jak to właściwie jest ? (this)
10.9 Odwołanie się do publicznych danych składowych
10.10 Zasłanianie nazw
10.10.1 Nie sięgaj z klasy do obiektów globalnych
10.11 Przeładowanie i zasłonięcie równocześnie
10.12 Nowa klasa? Osobny plik!
10.13 Przesyłanie do funkcji argumentów będących obiektami
10.13.1 Przesyłanie obiektu przez wartość
10.13.2 Przesyłanie przez referencję
10.14 Konstruktor – pierwsza wzmianka
10.15 Destruktor – pierwsza wzmianka
10.16 Składnik statyczny
10.16.1 Deklaracja składnika statycznego połączona z inicjalizacją
10.17 Statyczna funkcja składowa
10.18 Do czego może nam się przydać składnik statyczny w klasie?
10.19 Funkcje składowe typu const oraz volatile
10.19.1 Przeładowanie, a funkcje składowe const i volatile
10.20 Specyfikator mutable
10.21 Ćwiczenia

11 Biblioteczna klasa std::string do operacji z tekstami
11.1 Przykład programu z użyciem klasy string
11.2 Definiowanie obiektów klasy string
11.3 Użycie operatorów =, +, +=, w pracy ze stringami
11.3.1 Jak umieścić w tekście liczbę?
11.4 Pojemność, rozmiar i długość stringu
11.4.1 Funkcje size() i length()
11.4.2 Funkcja składowa empty
11.4.3 Funkcja składowa max_size
11.4.4 Funkcja składowa capacity
11.4.5 Funkcja składowa reserve
11.4.6 resize – zmiana długości stringu „na siłę”
11.4.7 Funkcja składowa clear
11.5 Użycie operatora [] oraz funkcji at
11.5.1 Działanie operatora []
11.5.2 Działanie funkcji składowej at
11.6 Praca z fragmentem stringu, czyli z sub–stringiem
11.7 Funkcja składowa substr
11.8 Szukanie zadanego substringu w obiekcie klasy string – funkcja find i jej pokrewne
11.9 Szukanie rozpoczynane od końca stringu
11.10 Szukanie w stringu jednego ze znaków z zadanego zestawu
11.11 Usuwanie znaków ze stringu – funkcje erase
11.12 Wstawianie znaków do już istniejącego stringu – funkcje insert
11.13 Zamiana części znaków na inne znaki – replace
11.14 Zamiana zawartości obiektu klasy string na C-string
11.15 Zaglądanie do wnętrza obiektu klasy string funkcją data
11.16 W porządku alfabetycznym – czyli porównywanie stringów
11.16.1 Porównywanie stringów funkcjami compare
11.16.2 Porównywanie stringów przy użyciu operatorów ==, !=, <, >, <=, >=.
11.17 Zamiana treści stringu na małe (lub wielkie) litery
11.18 Kopiowanie treści obiektu klasy string do wybranej tablicy znakowej – funkcja copy
11.19 Wzajemna zamiana treści dwóch obiektów klasy string – funkcja swap
11.20 Przypisanie do obiektu klasy string, funkcja assign
11.21 Dopisywanie do końca stringu za pomocą funkcji append
11.22 Wczytywanie z klawiatury długiego stringu o nieznanej wcześniej długości – getline
11.22.1 Pułapka – czyli jak getline może Cię zaskoczyć
11.23 Iteratory stringu
11.23.1 Iterator do obiektu stałego
11.23.2 Funkcje składowe klasy string pracujące z iteratorami
11.24 Bryk – czyli "pamięć zewnętrzna" programisty
11.25 Ćwiczenia

12 Deklaracje przyjaźni
12.0.1 Klasy zaprzyjaźnione
12.0.2 Słowo o zakresie

Zamów symfonię!

darmowe szablony