ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 13.12.2020
Просмотров: 4222
Скачиваний: 28
Оглавление
5
7.3. Связывание идентификаторов..............................................................91
7.4. Спецификаторы классов памяти ..........................................................92
7.5. Структура программы ...........................................................................96
7.6. Функция
main
........................................................................................97
Глава 8. Типы данных, определяемые программистом ....... 100
8.1. Введение ..............................................................................................100
8.2. Перечисления ......................................................................................101
8.3. Структуры ............................................................................................103
8.4. Объединения ........................................................................................107
8.5. Битовые поля .......................................................................................110
8.6. Передача структур в функции ............................................................111
8.7. Объявление
typedef
..............................................................................114
8.8. Оператор
sizeof
....................................................................................116
8.9. Сравнимые типы .................................................................................119
Глава 9. Директивы препроцессора .......................................... 122
9.1. Препроцессор ......................................................................................122
9.2. Директивы
#define
и
#undef
................................................................123
9.3. Директивы
#if
,
#elsif
,
#else
и
#endif
...................................................124
9.4. Директивы
#ifdef
и
#ifndef
..................................................................126
9.5. Директива
#include
..............................................................................127
9.6. Директивы
#error
................................................................................129
9.7. Директива
#line
...................................................................................129
9.8. Директива
#pragma
.............................................................................130
9.9. Пустая директива ................................................................................130
9.10. Оператор
#
.........................................................................................130
9.11. Оператор
##
.......................................................................................131
9.12. Предопределенные макрокоманды ..................................................132
ЧАСТЬ II. ЯЗЫК ПРОГРАММИРОВАНИЯ С++ ................. 133
Глава 10. Дополнения к типам данных языка С .................... 135
10.1. Тип данных
bool
................................................................................135
10.2. Тип данных
wchar_t
..........................................................................135
10.3. Анонимные объединения .................................................................137
10.4. Ссылки ...............................................................................................138
10.5. Новые операторы явного преобразования типов ...........................140
10.6. Типизированные операторы распределения памяти ......................143
Оглавление
6
Глава 11. Дополнение к функциям языка C ........................... 146
11.1. Передача аргументов по умолчанию ...............................................146
11.2. Встроенные функции ........................................................................147
11.3. Передача аргументов и возврат значения через ссылки ................148
11.4. Перегрузка функций .........................................................................149
11.5. Искажение имен функций ................................................................153
Глава 12. Пространства имен..................................................... 155
12.1. Определение пространства имен .....................................................155
12.2. Анонимные пространства имен .......................................................156
12.3. Стандартное пространство имен......................................................157
12.4. Оператор разрешения области видимости ......................................157
12.5. Объявление
using
..............................................................................160
12.6. Директива
using
.................................................................................161
12.7. Псевдонимы .......................................................................................162
12.8. Искажение имен переменных ..........................................................163
Глава 13. Обработка исключений ............................................. 165
13.1. Механизм обработки исключений ...................................................165
13.2. Обработка нескольких исключений ................................................169
13.3. Перехват всех исключений ...............................................................170
13.4. Вложенные исключения ...................................................................171
13.5. Реализация исключений ...................................................................174
13.6. Спецификация исключений ..............................................................175
Глава 14. Классы .......................................................................... 177
14.1. Введение ............................................................................................177
14.2. Определение класса ..........................................................................178
14.3. Объекты, доступ к членам класса ....................................................180
14.4. Указатель
this
.....................................................................................181
14.5. Спецификаторы доступа к членам класса .......................................181
14.6. Друзья класса .....................................................................................183
14.7. Встроенные функции-члены класса ................................................187
14.8. Функции-члены класса с квалификаторами
const
и
volatile
..........188
14.9. Данные-члены класса с квалификатором
mutable
..........................190
14.10. Статические члены класса ..............................................................190
14.11. Указатели на нестатические члены класса....................................192
14.12. Вложенные классы ..........................................................................194
14.13. Локальные классы ...........................................................................196
Оглавление
7
Глава 15. Конструкторы и деструкторы .................................. 197
15.1. Конструктор класса ...........................................................................197
15.2. Список инициализации .....................................................................198
15.3. Конструктор по умолчанию .............................................................199
15.4. Конструктор копирования ................................................................200
15.5. Явный вызов конструкторов ............................................................202
15.6. Деструкторы ......................................................................................203
15.7. Исключения в деструкторах .............................................................205
Глава 16. Перегрузка операторов .............................................. 206
16.1. Общие правила ..................................................................................206
16.2. Унарные операторы ..........................................................................209
16.3. Оператор присваивания ....................................................................210
16.4. Составные операторы присваивания ...............................................212
16.5. Оператор индексирования
[ ]
..........................................................213
16.6. Оператор вызова функции ................................................................214
16.7. Оператор доступа к членам класса ..................................................215
16.8. Операторы инкремента и декремента .............................................216
16.9. Бинарные операторы.........................................................................217
16.10. Перегрузка операторов
>>
и
<<
для ввода и вывода ..................218
16.11. Операторы преобразования типов (конвертеры) .........................219
16.12. Операторы
new
и
delete
..................................................................219
Глава 17. Наследование классов ............................................... 222
17.1. Определение наследования ..............................................................222
17.2. Доступ к членам, наследуемым от базового класса .......................225
17.3. Конструкторы, деструкторы и наследование .................................226
17.4. Наследование и присваивание .........................................................229
17.5. Виртуальные функции ......................................................................230
17.6. Полиморфизм и позднее связывание ..............................................233
17.7. Передача аргументов по умолчанию в виртуальные функции......234
17.8. Виртуальные деструкторы ...............................................................235
17.9. Абстрактные классы .........................................................................236
17.10. Множественное наследование .......................................................238
17.11. Виртуальное наследование .............................................................239
Глава 18. Шаблоны функций ..................................................... 241
18.1. Определение шаблона функции .......................................................241
18.2. Конкретизация шаблона функции ...................................................243
18.3. Вывод аргументов шаблона функции .............................................246
Оглавление
8
18.4. Явная специализация шаблона функции .........................................249
18.5. Модели компиляции шаблонов ........................................................250
18.6. Перегрузка шаблонов функций ........................................................252
18.7. Шаблоны функций как члены класса ..............................................255
Глава 19. Шаблоны классов ....................................................... 257
19.1. Определение шаблона класса ...........................................................257
19.2. Конкретизация шаблона класса .......................................................259
19.3. Использование ключевого слова
typename
.....................................262
19.4. Явная специализация шаблона класса .............................................264
19.5. Частичная специализация шаблона класса .....................................265
19.6. Статические члены шаблона класса ................................................267
19.7. Шаблоны как члены шаблона класса ..............................................268
19.8. Объявление друзей в шаблоне класса .............................................269
19.9. Шаблоны класса и наследование .....................................................273
19.10. Шаблоны класса как параметры шаблонов функций ...................274
19.11. Шаблоны класса как параметры шаблона класса.........................275
ЧАСТЬ III. СТАНДАРТНАЯ БИБЛИОТЕКА
ЯЗЫКА ПРОГРАММИРОВАНИЯ C ....................................... 277
Глава 20. Стандартные определения <stddef.h> .................... 279
20.1. Типы данных .....................................................................................279
20.2. Макрос
NULL
....................................................................................280
20.3. Макрос
offsetof
...................................................................................280
Глава 21. Стандартные функции <stdlib.h> ............................ 282
21.1. Динамическое распределение памяти .............................................282
21.2. Динамические массивы ....................................................................284
21.3. Стандартные функции сортировки и поиска ..................................287
21.4. Взаимодействие с системой .............................................................290
21.5. Преобразования строк в числа .........................................................294
21.6. Арифметические функции ................................................................298
21.7. Генерация случайных чисел .............................................................299
21.8. Обработка длинных символов .........................................................301
Глава 22. Диагностика ошибок <assert.h> ............................... 305
Глава 23. Функции с переменным количеством
параметров <stdarg.h> ................................................................. 307
Оглавление
9
Глава 24. Диапазоны целочисленных данных <limits.h> ..... 311
Глава 25. Диапазоны чисел с плавающей точкой
<float.h> ........................................................................................... 313
Глава 26. Обработка ошибок <errno.h> ................................... 316
Глава 27. Математические функции <math.h> ....................... 318
27.1. Обработка ошибок ............................................................................318
27.2. Тригонометрические функции .........................................................319
27.3. Экспоненциальная и логарифмическая функции ...........................320
27.4. Гиперболические функции ...............................................................321
27.5. Степень и квадратный корень ..........................................................321
27.6. Экспонента и мантисса .....................................................................322
27.7. Целая и дробная часть числа с плавающей точкой ........................323
27.8. Целые границы числа с плавающей точкой ....................................323
27.9. Остаток от деления ...........................................................................324
27.10. Абсолютное значение числа...........................................................324
Глава 28. Функции классификации символов <ctype.h> ..... 325
28.1. Определение типа символа...............................................................325
28.2. Отображения прописных и строчных символов ............................326
Глава 29. Функции для работы со строками <string.h> ........ 328
29.1. Сравнение строк ................................................................................328
29.2. Копирование строк............................................................................329
29.3. Соединение строк ..............................................................................330
29.4. Поиск символа в строке ....................................................................331
29.5. Поиск подстроки в строке ................................................................333
29.6. Разбор строки на лексемы ................................................................334
29.7. Определение длины строки ..............................................................335
29.8. Функции для работы с памятью .......................................................336
29.9. Сравнение строк, содержащих локальные символы ......................337
29.10. Получение строки, описывающей код ошибки ............................339
Глава 30. Функции для работы с файлами <stdio.h> ............ 341
30.1. Файлы и потоки .................................................................................341
30.2. Открытие файла ................................................................................343
30.3. Перенаправление потока ..................................................................344
30.4. Закрытие файла .................................................................................344