Оглавление 3
Глава 1. Введение 5
Глава 2. Язык программирования С++ 9
1. Конструкции языка 9
2. Структура программы 13
3. Типы используемых данных 15
4. Типы указатель и массив 22
5. Некоторые аспекты передачи параметров в функциях 31
6. Параметр массив 35
7. Обобщение символьных массивов. Тип данных string 44
8. Динамически выделяемая память 49
9. Дальнейшие расширения стандарта и некоторые параллельные конструкции при работе с массивами 55
10. Библиотека потокового ввода-вывода 58
11. Операторы 63
12. Дополнительные операции ввода/вывода 70
13. Операции равенства, отношения и логические операции 78
14. Рекурсия и подстановка 81
15. Шаблоны 85
Глава 3. Основы объектно-ориентированного программирования 87
1. Структуры 87
2. Классы 93
3. Конструкторы 95
4. Деструкторы 99
5. Инкапсуляция, наследственность и полиморфизм 102
6. Основной класс Array и виртуальные функции 105
7. Производные классы 111
8. Классы С++ в работе 121
9. Шаблон класса 126
Глава 4. Оптимизация вычислений 131
1. Режимы отладки и оптимизации 131
2. Векторизация 142
3. Распараллеливание вычислений 151
Глава 5. Использование математических библиотек 159
1. Параллельное обращение матрицы. Проект MKL 161
2. Оценка эффективности распараллеливания. 167
Приложения 174
Приложение 1. Векторно-матричные операции с классами 174
Приложение 2. Шаблон класса Array 194
Приложение 3. Работа с MKL 198
Список литературы 202