Język C++. Standard ISO

Język C++. Standard ISO

1 opinia

Format:

ibuk

RODZAJ DOSTĘPU

 

Dostęp online przez myIBUK

WYBIERZ DŁUGOŚĆ DOSTĘPU

Cena początkowa:

Najniższa cena z 30 dni: 6,92 zł  


6,92

w tym VAT

TA KSIĄŻKA JEST W ABONAMENCIE

Już od 24,90 zł miesięcznie za 5 ebooków!

WYBIERZ SWÓJ ABONAMENT

W tę książkę warto zainwestować, ponieważ ma ona wartość ponadczasową, podobnie jak standard ISO, na którym jest oparta. Można ją polecić jako źródło odniesienia dla języka C++. Warto ją czytać i poznawać zawarte w niej krótkie, a treściwe wprowadzenia teoretyczne i teksty źródłowe oraz omówienia programów.


Zrozumienie podstawowych koncepcji i opanowanie konstrukcji języka C++ nie wymaga znajomości żadnego innego języka programowania. Jeżeli ktoś chce poznać i opanować warsztat programowania obiektowego, to książka „Język C++. Standard ISO w praktyce” znakomicie posłuży temu celowi. W tekstach i omówieniach około 200 programów można znaleźć wiele wskazówek dotyczących pragmatyki, tj. możliwości i umiejętności stosowania różnych konstrukcji językowych w tych samych lub odmiennych kontekstach, a także użyteczne idiomy językowe. Wykład wywiedziony ze standardu nie podlega chwilowym modom, związanym z różnymi środowiskami programistycznymi, a więc jest niezależny od aktualnych interesów producentów oprogramowania narzędziowego.


Książka prezentuje syntaktykę, semantykę i pragmatykę hybrydowego, proceduralno-obiektowego języka programowania C++. Prezentowane treści są zgodne ze standardem ISO z roku 2003. Omawiane w kolejnych rozdziałach konstrukcje językowe opisano zwięźle, jednak wystarczająco dokładnie. Konstrukcje te starano się opisywać nie w formie suchych, sformalizowanych definicji, lecz semantycznie bogatszych i lepiej zrozumiałych definicji nieformalnych. Przeczytanie książki umożliwia poznanie języka C++ pod warunkiem, że skompilujemy i wykonamy (łatwe do wydzielenia z tekstu) zamieszczone w niej programy. Do przetwarzania programów można wykorzystać zarówno kompilator wywoływany z wiersza polecenia (np. GNU g++ w środowisku Unix/Linux), jak i jedno z tzw. środowisk zintegrowanych (np. Borland bc3.1, bc5.01, bcb6, Eclipse, VIDE, Dev-C++).


Wykład jest prowadzony w sposób systematyczny: od podstawowych elementów i konstrukcji języka którym towarzyszą proste programy, przez konstrukcje wynikające z paradygmatu proceduralnego, kończąc na specyficznych własnościach klas i obiektów, takich jak dziedziczenie, polimorfizm, parametryzacja klas i funkcji, dynamiczna identyfikacja typów. Warto również zwrócić uwagę na omawiane w książce objęte standardem ISO tematy, takie jak obsługa wyjątków, tworzenie obiektów funkcyjnych, elementy biblioteki STL oraz przestrzenie nazw.


Rok wydania2008
Liczba stron272
KategoriaProgramowanie
WydawcaWydawnictwo Naukowe PWN
ISBN-13978-83-01-15316-8
Numer wydania1
Język publikacjipolski
Informacja o sprzedawcyePWN sp. z o.o.

Ciekawe propozycje

Spis treści

  Wprowadzenie    7
  1. Podstawowe elementy i konstrukcje    9
    1.1. Paradygmat proceduralny    9
    1.2. Paradygmat obiektowy    10
    1.3. Konstrukcja i przetwarzanie programu    11
      1.3.1. Pierwszy program    13
    1.4. Jednostki leksykalne programu    14
      1.4.1. Identyfikatory    15
      1.4.2. Komentarze    15
      1.4.3. Słowa kluczowe i operatory    15
    1.5. Typy danych    16
      1.5.1. Typy wbudowane    16
      1.5.2. Typ wyliczeniowy    18
      1.5.3. Typ void    18
    1.6. Stałe i zmienne    19
      1.6.1. Stałe i zmienne całkowite    20
      1.6.2. Stałe i zmienne znakowe    21
      1.6.3. Stałe rzeczywiste    23
      1.6.4. Stałe napisowe    24
    1.7. Operatory, wyrażenia, instrukcje    25
      1.7.1. Operatory    25
      1.7.2. Priorytety operatorów i kolejność obliczeń    27
      1.7.3. Operator zasięgu    28
      1.7.4. Wyrażenia    29
    1.8. Konwersja (rzutowanie) typów    31
      1.8.1. Konwersje jawne    32
  2. Instrukcje i bloki    35
    2.1. Instrukcje wyrażeniowe    35
    2.2. Instrukcje wyboru    38
      2.2.1. Instrukcja if    38
      2.2.2. Instrukcja switch    39
    2.3. Instrukcje powtarzania (pętle)    41
      2.3.1. Instrukcja pętli while    41
      2.3.2. Instrukcja pętli do-while    42
      2.3.3. Instrukcja pętli for    43
      2.3.4. Modyfikacje instrukcji for    45
    2.4. Instrukcje skoku    48
    2.5. Dyrektywy preprocesora    49
      2.5.1. Dyrektywy predefiniowane    49
  3. Wskaźniki i tablice    53
    3.1. Tablice    53
      3.1.1. Tablice jednowymiarowe    53
      3.1.2. Tablice wielowymiarowe    54
    3.2. Wskaźniki    56
      3.2.1. Wskaźnik do typu void    58
      3.2.2. Wskaźniki do tablic    59
      3.2.3. Wskaźniki i tablice znaków    62
      3.2.4. Wskaźniki stałe i wskaźniki do stałych    64
    3.3. Dynamiczna alokacja pamięci    65
      3.3.1. Tablice dynamiczne    67
  4. Funkcje    69
    4.1. Prototypy funkcji    69
    4.2. Blok funkcji    70
    4.3. Argumenty funkcji    71
      4.3.1. Przekazywanie przez wartość    71
      4.3.2. Przekazywanie przez wskaźnik    72
      4.3.3. Przekazywanie przez referencję    73
      4.3.4. Domyślne wartości argumentów    74
      4.3.5. Przekazywanie tablic    75
    4.4. Funkcje rozwijalne    78
    4.5. Funkcja main    80
      4.5.1. Komunikacja funkcji main z otoczeniem    80
    4.6. Algorytmy i funkcje rekurencyjne    81
    4.7. Własności rekurencji    82
      4.7.1. Poprawność algorytmów rekurencyjnych    82
    4.8. Przykłady algorytmów i programów rekurencyjnych    83
    4.9. Rekurencja a iteracja    89
      4.9.1. Rekurencja – podsumowanie    90
    4.10. Przeciążanie nazw funkcji    90
      4.10.1. Dopasowanie argumentów    91
      4.10.2. Adresy funkcji przeciążonych    93
    4.11. Wskaźniki do funkcji    93
    4.12. Synonimy nazw typów    96
      4.12.1. Deklaracja typedef    96
    4.13. Zasięg nazw i klasy pamięci    98
      4.13.1. Zmienne globalne i lokalne    98
      4.13.2. Zmienne i funkcje statyczne    99
  5. Klasy i obiekty    102
    5.1. Deklaracja i definicja klasy    102
      5.1.1. Funkcje składowe i wskaźnik this    106
    5.2. Statyczne elementy klasy    107
    5.3. Konstruktory i destruktory    110
      5.3.1. Własności konstruktorów i destruktorów    112
      5.3.2. Konstruktory z argumentami domyślnymi    114
    5.4. Funkcje i klasy zaprzyjaźnione    115
    5.5. Przeciążanie operatorów    117
      5.5.1. Zaprzyjaźniony operator <<    122
    5.6. Struktury i unie jako klasy    124
      5.6.1. Struktury    124
      5.6.2. Pola bitowe struktur    125
      5.6.3. Unie    127
    5.7. Kompozycje klas i obiektów    128
    5.8. Szablony klas i funkcji    131
      5.8.1. Szablony klas    133
      5.8.2. Szablony funkcji    134
      5.8.3. Szablony w standardowej bibliotece C++    135
  6. Operacje na obiektach    140
    6.1. Obiekty i funkcje stałe    140
      6.1.1. Specyfikator mutable    141
    6.2. Kopiowanie obiektów    142
    6.3. Przekazywanie obiektów do/z funkcji    145
    6.4. Konwersje obiektów klas    149
      6.4.1. Specyfikator explicit    150
    6.5. Tablice obiektów    152
    6.6. Wskaźniki do elementów obiektu    157
      6.6.1. Wskaźniki do zmiennych składowych obiektu    157
      6.6.2. Wskaźniki do funkcji składowych obiektu    158
  7. Mechanizmy dziedziczenia    160
    7.1. Hierarchie dziedziczenia    160
    7.2. Dziedziczenie pojedyncze    163
      7.2.1. Konstruktory i destruktory domyślne    164
      7.2.2. Konstruktory i destruktory definiowane    165
    7.3. Dziedziczenie mnogie    169
      7.3.1. Wirtualne klasy bazowe    173
  8. Polimorfizm i funkcje wirtualne    177
    8.1. Wskaźniki i referencje w hierarchii klas    177
    8.2. Funkcje wirtualne    179
    8.3. Implementacja funkcji wirtualnych    182
    8.4. Wirtualne destruktory    183
      8.4.1. Destruktory w hierarchii klas    184
    8.5. Zasięg i reguła dominacji    187
    8.6. Klasy abstrakcyjne i funkcje czysto wirtualne    191
  9. Strumienie i pliki    194
    9.1. Klasy strumieni wejścia/wyjścia    195
      9.1.1. Funkcje składowe klas strumieniowych    197
    9.2. Formatowanie wejścia i wyjścia    199
      9.2.1. Manipulatory    202
    9.3. Pliki    204
      9.3.1. Plik jako parametr funkcji main    207
      9.3.2. Dostęp swobodny    208
      9.3.3. Pliki binarne    210
  10. Obsługa wyjątków    214
    10.1. Model obsługi wyjątków w języku C++.    215
      10.1.1. Deklaracje wyjątków    216
    10.2. Wyjątek jako obiekt    218
    10.3. Sygnalizacja wyjątków w deklaracji funkcji    220
    10.4. Propagacja wyjątków    222
    10.5. Wyjątki i zasoby systemowe    224
    10.6. Wyjątki w operacjach new i delete    225
      10.6.1. Operatory new    226
      10.6.2. Operatory delete    227
    10.7. Wyjątki standardowe    228
    10.8. Nadużywanie wyjątków    228
  11. Dynamiczna kontrola typów    230
    11.1. Konwersja dynamiczna    230
    11.2. Dynamiczna identyfikacja typów    233
    11.3. Alternatywa – funkcje wirtualne    236
    11.4. Nowa notacja dla konwersji    236
  12. Obiekty funkcyjne – funktory    239
    12.1. Funkcje i funktory    239
    12.2. Przeciążenie operatora wywołania funkcji    241
      12.2.1. Funktory ze wskaźnikami do funkcji zewnętrznych    242
      12.2.2. Funktory z jawnym wywołaniem funkcji    244
    12.3. Funktory i wskaźniki do funkcji składowych klasy    245
    12.4. Funktory w hierarchii dziedziczenia    246
    12.5. Funktory z szablonami funkcji    248
    12.6. Szablony funktorów    249
      12.6.1. Obiekty funkcyjne w bibliotece STL    250
    12.7. Komentarze i wnioski    252
  13. Przestrzenie nazw    254
    13.1. Przestrzeń nazw biblioteki standardowej C++    254
    13.2. Odwołanie przez jawną kwalifikację    256
    13.3. Deklaracja użycia (deklaracja using)    258
    13.4. Rozszerzenia przestrzeni nazw    260
    13.5. Synonimy przestrzeni nazw    260
    13.6. Polecenie otwarcia (dyrektywa using)    261
    13.7. Przestrzenie nienazwane    263
      13.7.1. Eliminacja słowa kluczowego static    265
  Dodatek A. Zbiór znaków ASCII    266
  Znaczenie znaków sterujących    267
  Literatura    268
  Skorowidz    269
RozwińZwiń