Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп краткое содержание
Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка.
Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие.
Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток.
Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».
Программирование. Принципы и практика использования C++ Исправленное издание читать онлайн бесплатно
Бьярне Страуструп
Программирование
Принципы и практика использования C++
Исправленное издание
Оглавление
Предисловие
Обращение к читателям
Глава 1. Компьютеры, люди и программирование
1.1. Введение
1.2. Программное обеспечение
1.3. Люди
1.4. Компьютерные науки
1.5. Компьютеры повсюду
1.5.1. С экранами и без них
1.5.2. Кораблестроение
1.5.3. Телекоммуникации
1.5.4. Медицина
1.5.5. Информация
1.5.6. Вид сверху
1.5.7. И что?
1.6. Идеалы программистов
Часть I. Основы
Глава 2. Hello, World!
2.1. Программы
2.2. Классическая первая программа
2.3. Компиляция
2.4. Редактирование связей
2.5. Среды программирования
Глава 3. Объекты, типы и значения
3.1. Ввод
3.2. Переменные
3.3. Ввод и тип
3.4. Операции и операторы
3.5. Присваивание и инициализация
3.5.1. Пример: выявление повторяющихся слов
3.6. Составные операторы присваивания
3.6.1. Пример: поиск повторяющихся слов
3.7. Имена
3.8. Типы и объекты
3.9. Типовая безопасность
3.9.1. Безопасные преобразования
3.9.2. Опасные преобразования
Глава 4. Вычисления
4.1. Вычисления
4.2. Цели и средства
4.3. Выражения
4.3.1. Константные выражения
4.3.2. Операторы
4.3.3. Преобразования
4.4. Инструкции
4.4.1. Инструкции выбора
4.4.1.1. Инструкции if
4.4.1.2. Инструкции switch
4.4.1.3. Технические подробности инструкции switch
4.4.2. Итерация
4.4.2.1. Инструкции while
4.4.2.2. Блоки
4.4.2.3. Инструкции for
4.5. Функции
4.5.1. Зачем нужны функции
4.5.2. Объявления функций
4.6. Вектор
4.6.1. Увеличение вектора
4.6.2. Числовой пример
4.6.3. Текстовый пример
4.7. Свойства языка
Глава 5. Ошибки
5.1. Введение
5.2. Источники ошибок
5.3. Ошибки во время компиляции
5.3.1. Синтаксические ошибки
5.3.2. Ошибки, связанные с типами
5.3.3. Не ошибки
5.4. Ошибки во время редактирования связей
5.5. Ошибки во время выполнения программы
5.5.1. Обработка ошибок в вызывающем модуле
5.5.2. Обработка ошибок в вызываемом модуле
5.5.3. Сообщения об ошибках
5.6. Исключения
5.6.1. Неправильные аргументы
5.6.2. Ошибки, связанные с диапазоном
5.6.3. Неправильный ввод
5.6.4. Суживающие преобразования
5.7. Логические ошибки
5.8. Оценка
5.9. Отладка
5.9.1. Практические советы по отладке
5.10. Пред- и постусловия
5.10.1. Постусловия
5.11. Тестирование
Глава 6. Создание программ
6.1. Задача
6.2. Размышления над задачей
6.2.1. Стадии разработки программы
6.2.2. Стратегия
6.3. Назад к калькулятору!
6.3.1. Первое приближение
6.3.2. Лексемы
6.3.3. Реализация лексем
6.3.4. Использование лексем
6.3.5. Назад к школьной доске!
6.4. Грамматики
6.4.1. Отступление: грамматика английского языка
6.4.2. Запись грамматики
6.5. Превращение грамматики в программу
6.5.1. Реализация грамматических правил
6.5.2. Выражения
6.5.2.1. Выражения: первая попытка
6.5.2.2. Выражения: вторая попытка
6.5.2.3. Выражения: третья попытка (удачная)
6.5.3. Термы
6.5.4. Первичные выражения
6.6. Испытание первой версии
6.7. Испытание второй версии
6.8. Потоки лексем
6.8.1. Реализация класса Token_stream
6.8.2. Считывание лексем
6.8.3. Считывание чисел
6.9. Структура программы
Глава 7. Завершение программы
7.1. Введение
7.2. Ввод и вывод
7.3. Обработка ошибок
7.4. Отрицательные числа
7.5. Остаток от деления: %
7.6. Приведение кода в порядок
7.6.1. Символические константы
7.6.2. Использование функций
7.6.3. Расположение кода
7.6.4. Комментарии
7.7. Исправление ошибок
7.8. Переменные
7.8.1. Переменные и определения
7.8.2. Использование имен
7.8.3. Предопределенные имена
7.8.4. Все?
Глава 8. Технические детали: функции и прочее
8.1. Технические детали
8.2. Объявления и определения
8.2.1. Виды объявлений
8.2.2. Объявления переменных и констант
8.2.3. Инициализация по умолчанию
8.3. Заголовочные файлы
8.4. Область видимости
8.5. Вызов функции и возврат значения
8.5.1. Объявление аргументов и тип возвращаемого значения
8.5.2. Возврат значения
8.5.3. Передача параметров по значению
8.5.4. Передача параметров по константной ссылке
8.5.5. Передача параметров по ссылке
8.5.6. Сравнение механизмов передачи параметров по значению и по ссылке
8.5.7. Проверка аргументов и преобразование типов
8.5.8. Реализация вызова функции
8.6. Порядок вычислений
8.6.1. Вычисление выражения
8.6.2. Глобальная инициализация
8.7. Пространства имен
8.7.1. Объявления using и директивы using
Глава 9. Технические детали: классы и прочее
9.1. Типы, определенные пользователем
9.2. Классы и члены класса
9.3. Интерфейс и реализация
9.4. Разработка класса
9.4.1. Структуры и функции
9.4.2. Функции-члены и конструкторы
9.4.3. Скрываем детали
9.4.4. Определение функций-членов
9.4.5. Ссылка на текущий объект
9.4.6. Сообщения об ошибках
9.5. Перечисления
9.6. Перегрузка операторов
9.7. Интерфейсы классов
9.7.1. Типы аргументов
9.7.2. Копирование
9.7.3. Конструкторы по умолчанию
9.7.4. Константные функции-члены
9.7.5. Члены и вспомогательные функции
9.8. Класс Date
Часть II Ввод и вывод
Глава 10 Потоки ввода и