С++ для инженерных и научных расчетов [Питер Готтшлинг] (pdf) читать постранично
Книга в формате pdf! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
- 1
- 2
- 3
- . . .
- последняя (56) »
научных расчетов
InDiscovering Modem C+4
An Intensive Course for Scientists, Engineers,
and Programmers
Peter Gottschling
Addison-Wesley
Boston ♦ Columbus • Indianapolis • New York • San Francisco • Amsterdam • Cape Town
Dubai • London • Madrid • Milan • Munich • Paris • Montreal • Toronto • Delhi • Mexico City
Sao Paulo • Sidney • Hong Kong • Seoul • Singapore • Taipei • Tokyo
C++
для инженерных
и научных расчетов
Питер Готтшлинг
Идцдластикд
Москва • Санкт-Петербург
2020
ББК 32.973.26-018.2.75
Г74
УДК 681.3.07
ООО “Диалектика”
Зав. редакцией С.Н. Тригуб
Перевод с английского и редакция канд. техн, наук И.В. Красикова
По общим вопросам обращайтесь в издательство “Диалектика” по адресу:
info@dialektika.com, http://www.dialektika.com
Г74
Готтшлинг, Питер.
C++ для инженерных и научных расчетов.: Пер. с англ. — СПб.: ООО “Диалектика”
2020. — 512 с.: ил. — Парал. тит. англ.
ISBN 978-5-907203-30-3 (рус.)
ББК 32.973.26-018.2.75
Все названия программных продуктов являются зарегистрированными торговыми марками соответс
твующих фирм.
Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни
было форме и какими бы то ни было средствами, будь то электронные или механические, включая фо
токопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства
Addison-Wesley Publishing Company, Inc.
Authorized translation from the English language edition published by Addison-Wesley Publishing Company,
Inc., Copyright © 2016.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, elec
tronic or mechanical, including photocopying, recording or by any information storage retrieval system, without
permission from the Publisher.
Научно-популярное издание
Питер Готтшлинг
C++ для инженерных и научных расчетов
ООО “Диалектика”, 195027, Санкт-Петербург, Маннитогорская ул., д. 30, лит. А, пом. 848
ISBN 978-5-907203-30-3 (рус.)
© ООО “Диалектика”, 2020
ISBN 978-0-13-438358-3 (англ.)
© Pearson Education, Inc., 2016
Оглавление
Предисловие
15
Благодарности
21
Об авторе
23
Глава 1. Основы C++
25
Глава 2. Классы
101
Глава 3. Обобщенное программирование
149
Глава 4. Библиотеки
215
Глава 5. Метапрограммирование
279
Глава 6. Объектно-ориентированное программирование
353
Глава 7. Научные проекты
393
Приложение А. Скучные детали
423
Приложение Б. Инструментарий для программирования
487
Приложение В. Определения языка
499
Библиография
506
Предметный указатель
509
Содержание
Предисловие
Причины для изучения C++
Причины для чтения данной книги
Красавица и чудовище
Языки в науке и технике
Соглашения об оформлении
Благодарности
Об авторе
15
15
16
16
18
19
21
23
Ждем ваших отзывов!
24
Глава 1 • Основы C++
25
1.1. Наша первая программа
1.2. Переменные
1.2.1. Константы
1.2.2. Литералы
1.2.3. Не сужающая инициализация в C++11
1.2.4. Области видимости
1.3. Операторы
1.3.1. Арифметические операторы
1.3.2. Булевы операторы
1.3.3. Побитовые операторы
1.3.4. Присваивание
1.3.5. Поток выполнения
1.3.6. Работа с памятью
1.3.7. Операторы доступа
1.3.8. Работа с типами
1.3.9. Обработка ошибок
1.3.10. Перегрузка
1.3.11. Приоритеты операторов
1.3.12. Избегайте побочных эффектов!
1.4. Выражения и инструкции
1.4.1. Выражения
1.4.2. Инструкции
1.4.3. Ветвление
1.4.4. Циклы
1.4.5. goto
1.5. Функции
1.5.1. Аргументы
1.5.2. Возврат результатов
1.5.3. Встраивание
1.5.4. Перегрузка
1.5.5. Функция main
25
28
30
31
33
34
36
37
40
41
42
42
43
43
44
44
44
45
46
48
48
48
49
52
55
56
56
58
59
60
62
1.6. Обработка ошибок
1.6.1. Утверждения
1.6.2. Исключения
1.6.3. Статические утверждения
1.7. Ввод-вывод
1.7.1. Стандартный вывод
1.7.2. Стандартный ввод
1.7.3. Ввод-вывод в файлы
1.7.4. Обобщенная концепция потоков
1.7.5. Форматирование
1.7.6. Обработка ошибок ввода-вывода
1.8. Массивы, указатели и ссылки
1.8.1. Массивы
1.8.2. Указатели
1.8.3. Интеллектуальные указатели
1.8.3.1. unique_ptr
1.8.4. Ссылки
1.8.5. Сравнение указателей и ссылок
1.8.6. Не ссылайтесь на устаревшие данные!
1.8.7. Контейнеры в качестве массивов
1.9. Структурирование программных проектов
1.9.1. Комментарии
1.9.2. Директивы препроцессора
1.10. Упражнения
1.10.1. Возраст
1.10.2. Массивы и указатели
1.10.3. Чтение заголовка файла Matrix Market
Глава 2. Классы
2.1. Программируйте универсальный смысл, а не технические детали
2.2. Члены
2.2.1. Переменные-члены
2.2.2. Доступность
2.2.3. Операторы доступа
2.2.4. Декларатор static в классах
2.2.5. Функции-члены
2.3. Установка значений. Конструкторы и присваивания
2.3.1. Конструкторы
2.3.2. Присваивание
2.3.3. Список инициализаторов
2.3.5. Семантика перемещения
2.4. Деструкторы
2.4.1. Правила реализации
2.4.2. Корректная работа с ресурсами
2.5. Резюме генерации методов
2.6. Доступ к переменным-членам
63
63
65
70
70
70
71
71
72
73
75
78
78
80
84
84
88
88
89
90
92
92
94
98
98
98
99
101
101
103
104
104
107
108
108
110
110
120
121
125
129
130
130
137
137
2.6.1. Функции доступа
2.6.2. Оператор индекса
2.6.3. Константные функции-члены
2.6.4.
- 1
- 2
- 3
- . . .
- последняя (56) »
Последние комментарии
7 часов 6 минут назад
9 часов 36 минут назад
9 часов 44 минут назад
1 день 21 часов назад
2 дней 1 час назад
2 дней 3 часов назад