Бьерн Страуструп. Язык программирования С++. Специальное издание (2011)
Описание файла
DJVU-файл из архива "Бьерн Страуструп. Язык программирования С++. Специальное издание (2011)", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика" в общих файлах.
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла
ТЬе С++ Ргорзпишщ~ Еапфиафе Ярес1а1 Ес$И1оп В1агпе Ягопв$гпр АТЙТ олпе Мштау НШ„Хе~ч детееу Аййеоп-УУее!еу Ап! арпа от АМ1еоп УУез1еу Еопдаап, 1пс. Бьерн Страуетруп Язык программирования С++ Специальное издание Перевод с английского под редакцией Н.Н. Мартынова Москва Издательство БИНОМ 2011 ББК 32.973.26-018.1 С83 Бьерн Страуструп Язык программирования С++. Специальное издание.
Пер, с англ. — Мл Издательство Бином, 2011 г. — 1136 сл ил. Все права защищены Никакая часть этой книги нг может быть воспроизведена в любой форме или любыии средетваии, электронными или меканичееюгми, включая фотографирование, магнитную запись ьти иные средства копирования или солранения информации бгз письменного разрешення издательства Тзяпз1иноп сорупяЬ! Ю 2010 Ьу В!пов РиЫИЬезз. Сэч Рзояввв!пя гяпяияяе, ТЬе: Брис|и! Ежпоп, Нзж Еда!оп Ьу В!яви Зиоизипр, Сорупам О 2000, Ал Раамз Кетзчед. РиЫ!яьед Ьу ипипяепзеп! таЬ Ьзе оз!я!пя! РиЫВЬег, Адд!зоп Шея!еу глпавяп, я Реигвоп Едисяноп Созприпу.
!ьз Ад!!!яоп Цчея!еу Сопяпвп, а Реагяоп Ебпсабоп Соврапу, 2000 !о Издание иа русском языке. Издательство Бином, 2011 15ВР( 978-5-7989-0425-9 (рус.) 1БВ!Ч 0-201-70073-5 (аигл.) Книга написана Бьерном Страуструпом — автором языка программирования С»» — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре С++, так и современный объектно-ориентированный подход к созданию программных продуктов. Книга адресована программистам, использующим в своей повседневной работе С+».
Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук». Краткое содержание Предисловие переводчика и редактора . Предисловие автора к третьему русскому изданию Предисловие. Предисловие ко второму изданию Предисловие к первому изданию . Введение. 1. Обращение к читателю . 2. Обзор языка С++ 3. Обзор стандартной библиотеки . Часть 1. Основные средства . 4. Типы и объявления 5. Указатели, массивы и структуры. 6. Выражения и операторы. 7. Функции .
8. Пространства имен и исключения . 9. Исходные файлы и программы Часть й. Механизмы абстракции 10. Классы . 11. Перегрузка операций 12. Наследование классов . 13. Шаблоны . 14. Обработка исключений . 15, Иерархии классов . Часть 10. Стандартная библиотека 16. Организация библиотеки и контейнеры . 17. Стандартные контейнеры 18. Алгоритмы и классы функциональных объектов 19. Итераторы и аллокаторы 20. Строки . 21. Потоки .
22. Классы для математических вычислений. 25 26 29 31 33 35 37 59 85 .. 111 113 133 155 195 219 . 253 .. 281 283 327 371 401 . 433 473 515 517 555 607 . 655 . 689 717 775 Язык программирования С++ Часть 1Ч. Проектирование с использованием С++.........
23. Общий взгляд на разработку программ. Проектирование . 24. Проектирование и программирование . 25. Роли классов . Приложения и предметный указатель А. Грамматика В. Совместимость С. Технические подробности . Гз. Локализация .. Е. Исключения и безопасность стандартной библиотеки . Предметный указатель.
.. 809 . 811 . 849 . 895 . 923 . 925 . 947 . 961 1007 1077 1117 Содержание Предисловие переводчика и редактора . Предисловие автора к третьему русскому изданию Предисловие. Предисловие ко второму изданию Предисловие к первому изданию . Введение. Глава 1.
Обращение к читателю 1.1. Структура книги 1.1.1. Примеры и ссыпки. 1.1.2. Упражнения . 1.1.3. Замечания о конкретных реализациях языка (компиляторах) . 1.2. Как изучать С+в 1.3. Как проектировался С++ . 1.3.1. Эффективность и структура 1.3.2.
Философские замечания . 1.4. Исторические замечания 1.5. Применение С++ 1.6. Языки С и С++. 1.6.1. Информация для С-программистов. 1.6.2. Информация для С++-программистов . 1.7. Размышления о программировании на С++ . 1.8. Советы !.8.1. Литература. Глава 2. Обзор языка С++. 2.1. Что такое язык С++? . 2.2. Парадигмы программирования 2.3. Процедурное программирование 2.3.1. Переменные и простейшая арифметика 2.3.2. Операторы ветвления и циклы . 2.3.3. Указатели и массивы.
2.4. Модульное программирование. 2.4.1. Раздельная компиляция 2.4.2. Обработка исключений. 25 26 29 31 33 37 37 39 40 40 40 42 43 44 45 47 49 50 50 51 53 54 59 59 60 61 62 63 64 65 67 68 Язык программирования С+-ь 2.5. Абстракция данных 2.5.1. Модули, определяющие типы 2.5.2. Типы, определяемые пользователем 2.5.3. Конкретные типы . 2.5.4. Абстрактные типы . 2.5.5. Виртуальные функции 2.6. Объектно-ориентированное программирование 2.6.1. Проблемы, связанные с конкретными типами 2.6.2. Классовые иерархии . 2.7. Обобщенное программирование . 2.7.1.
Контейнеры . 2.7.2. Обобщенные алгоритмы 2.8. Заключение. 2.9. Советы . Глава 3. Обзор стандартной библиотеки. 3.1. Введение 3.2. Нейо, згог10! (Здравствуй, мир!) . 3.3. Пространство имен стандартной библиотеки. 3.4. Вывод 3.5. Строки . 3.5.1. С-строки 3.6. Ввод 3.7. Контейнеры 3.7.1. Контейнер тес!от. 3.7.2. Проверка диапазона индексов . 3.7.3. Контейнер йм . 3.7.4. Контейнер тар 3.7.5.
Контейнеры стандартной библиотеки. 3.8. Алгоритмы . 3.8.1. Использование итераторов . 3.8.2. Типы итераторов . 3.8.3. Итераторы и ввод/вывод 3.8.4. Алгоритм 1ог еас!з и предикаты . 3.8.5. Алгоритмы, использующие функции-члены классов . 3.8.6. Алгоритмы стандартной библиотеки. 3.9.
Математические вычисления. 3.9.1. Комплексные числа. 3.9.2. Векторная арифметика .. 3.9.3. Поддержка базовых вычислительных операций 3.10. Основные средства стандартной библиотеки. 3.11. Советы Часть 1. Основные средства Глава 4. Тины н объявления 4.1. Типы 4.1.1. Фундаментальные типы .
4.2. Логический тип 69 69 71 73 74 77 77 78 79 81 81 82 84 84 85 . 85 . 86 , 87 87 88 . 90 . 90 92 . 93 . 94 . 95 . 96 . 97 98 . 99 101 102 103 105 106 107 107 107 108 108 109 113 113 114 115 Содержание 4.3. Символьные типы . 4.3.1. Символьные литералы 4.4. Целые типы 4.4.1. Целые литералы 4.5. Типы с плавающей запятой 4.5.1. Литералы с плавающей запятой . 4.6. Размеры .. 4.7. Тнп чоий . 4.8. Перечисления . 4.9. Объявления .
4.9.1. Структура объявления. 4.9.2. Объявление нескольких имен 4.9.3. Имена 4.9.4. Область видимости . 4.9.5. Инициализация. 4.9.6. Объекты и леводопустимые выражения (1ча1це) 4.9.7. Ключевое слово гурейеу . 4.10. Советы . 4.11. Упражнения Глава 5. Указатели, массивы и структуры. 5.1. Указатели . 5.1.1. Нуль . 5.2. Массивы. 5.2.1.
Инициализация массивов . 5.2.2. Строковые литералы 5.3. Указатели на массивы . 5.3.1. Доступ к элементам массивов . 5.4. Константы. 5.4.1. Указатели и константы . 5.5. Ссылки 5.6. Тип чо1о* 5.7. Структуры . 5.7.1. Эквивалентность типов . 5.8. Советы 5.9. Упражнения . Глава 6. Выражения и операторы 6.1.
Калькулятор.................. 6.1.1. Синтаксический анализатор. 6.1.2. Функция ввода . 6.1.3. Низкоуровневый ввод. 6.1.4. Обработка ошибок 6.1.5. Управляющая программа 6.1.6. Заголовочные файлы . 6.1.7. Аргументы командной строки. 6.1.8. Замечания о стиле 6.2. Обзор операций языка С++ . 6.2.1. Результаты операций 116 117 118 1!8 119 119 119 121 122 123 125 126 126 127 129 130 130 131 132 133 133 134 135 135 136 138 139 141 143 144 148 149 152 152 152 155 155 156 161 163 164 165 166 167 169 169 171 !О Язык программирования С+-ь 6.2.2.
Последовательность вычислений 6.2.3. Приоритет операций . 6.2.4. Побитовые логические операции 6.2.5. Инкремент и декремент. 6.2.6. Свободная память. 6.2.6.1. Массивы. 6.2.6.2. Исчерпание памяти 6.2.7. Явное приведение типов 6.2.8. Конструкторы 6.3. Обзор операторов языка С++ 6.3.1. Объявления как операторы . 6.3.2. Операторы выбора (условные операторы) 6.3.2.1.
Объявления в условиях. 6.3.3. Операторы цикла . 6.3.3.1. Объявления в операторах цикла Гог 6.3.4. Оператор 8ото. 6.4. Комментарии и отступы . 6.5. Советы 6.6. Упражнения . Глава 7. Функции 7.1. Объявления функций 7.1.1. Определения функций 7.1.2. Статические переменные . 7.2. Передача аргументов. 7.2.1.
Массивы в качестве аргументов . 7.3. Возвращаемое значение 7.4. Перегрузка имен функций . 7.4.1. Перегрузка и возврашаемые типы . 7.4.2. Перегрузка и области видимости 7.4.3. Явное разрешение неоднозначностей 7.4.4. Разрешение в случае нескольких аргументов. 7.5. Аргументы по умолчанию 7.6. Неуказанное число аргументов . 7.7. Указатели на функции . 7.8. Макросы.
7.8.1. Условная компиляция. 7.9. Советы 7.10. Упражнения Глава 8. Пространства имен и исключения . 8.1. Разбиение на модули и интерфейсы.. 8.2. Пространства имен 8.2.1. Квалифицированные имена . 8.2.2. Объявления цв!п8 8.2.3. Директивы цв!п8 8.2.4. Множественные интерфейсы . 8.2.4.1. Альтернативы интерфейсам.. 8.2.5. Как избежать конфликта имен 8.2.5.1. Неименованные пространства имен.
172 173 174 175 177 179 !80 181 182 183 184 185 187 188 189 189 190 192 192 195 195 196 197 197 199 200 . 201 . 204 . 204 . 204 205 . 206 207 209 213 . 215 2!6 217 219 219 22! . 223 224 226 227 229 231 232 Содержание 8.2.6. Поиск имен. 8.2.7. Псевдонимы пространств имен . 8.2.8. Композиция пространств имен . 8.2.8.1. Отбор отдельных элементов из пространства имен 8.2.8.2. Композиция пространств имен н отбор элементов 8.2.9. Пространства имен и старый код 8.2.9.1. Пространства имен и язык С 8.2.9.2.
Пространства имен и перегрузка . 8.2.9.3. Пространства имен открыты 8.3. Исключения . 8.3.1. Ключевые слова г!ггпу и сато!т. 8.3.2. Обработка нескольких исключений . 8.3.3. Исключения в программе калькулятора . 8.3.3.1. Альтернативные стратегии обработки ошибок... 8.4. Советы 8.5.
Упражнения . Глава 9. Исходные файлы и программы 9.1. Раздельная компиляция 9.2. Компоновка (1пйайе). 9.2.1. Заголовочные файлы . 9.2.2. Заголовочные файлы стандартной библиотеки. 9.2.3. Правило одного определения 9.2.4. Компоновка с кодом, написанном не на языке С++. 9.2.5. Компоновка и указатели на функции . 9.3. Применяем заголовочные файлы .
9.3.1. Единственный заголовочный файл 9.3.2. Несколько заголовочных файлов 9.3.2.1. Остальные модули калькулятора . 9.3.2.2. Использование заголовочных файлов 9.3.3. Защита от повторных включений . 9.4. Программы 9.4.1. Инициализация нелокальных переменных. 9.4,1.1.
Завершение выполнения программы 9.5. Советы 9.6. Упражнения . Часть 11. Механизмы абстракции Глава 10. Классы 10.1. Введение . 10.2. Классы 10.2.1. Функции-члены .. 10.2.2. Управление режимом доступа 10.2.3. Конструкторы . 10.2.4. Статические члены 10.2.5. Копирование объектов класса . 10.2.6. Константные функции-члены . !0.2.7. Ссылки на себя . 10.2.7.1.физическое и логическое постоянство.