Учебное пособие. — М.: Финансы и статистика, 2008. — 688 с.: ил. — ISBN: 978-5-279-03243-3
Содержит доступное для начинающего программиста описание соответствующего международному стандарту языка Си++, его стандартной библиотеки и входящей в нее библиотеки шаблонов STL. Материал пособия позволяет изучить синтаксис и семантику базовых конструкций языка, а также механизмы и возможности стандартной библиотеки. На многочисленных примерах программ разъясняются наиболее тонкие и трудные вопросы процедурного, объектного, объектно-ориентированного и обобщенного программирования с помощью средств языка Си++ и его библиотеки.
Для студентов вузов, учащихся колледжей и специализированных школ.
Может использоваться в качестве самоучителя и справочного пособия.
Допущено Учебно-методическим объединением по образованию в области прикладной математики и управления качеством в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению подготовки 230400 «Прикладная математика»
Предисловие
Неформальное введение в Си++Первая программа на языке Си++
Пространство имен и стандартные заголовки
Программа с вводом данных в цикле
Строки в языке Си++
Лексические основы языка Си++Общие сведения о программах, лексемах и алфавите
Идентификаторы и служебные слова
Константы-литералы и перечисления
Знаки операций
Разделители
Скалярные типы и выраженияБазовые и производные типы
Объекты и их атрибуты
Определения и описания
Выражения и преобразования типов
Операторы языка Си++Последовательно выполняемые операторы
Операторы выбора (ветвления)
Операторы цикла
Операторы передачи управления
Адреса, указатели, массивыУказатели и адреса объектов
Адресная арифметика, типы указателей и операции над ними
Массивы и указатели
Многомерные массивы, массивы указателей, динамические массивы
Функции, указатели, ссылкиОпределения, описания и вызовы функций
Функции с переменным количеством параметров (аргументов)
Рекурсивные функции
Подставляемые (inline-) функции
Функции и массивы
Указатели на функции
Ссылки
Перегрузка функций
Препроцессорные средстваСтадии и команды препроцессорной обработки
Замены в тексте
Включение текстов из файлов
Условная компиляция
Макроподстановки средствами препроцессора
Препроцессорные операции и дополнительные директивы
Встроенные (предопределенные) макроимена
Структуры и объединенияСтруктура как совокупность данных
Объединения разнотипных данных
Битовые поля структур и объединений
Класс как абстрактный типКласс как расширение понятия структуры
Конструкторы, деструкторы и статусы доступа
Поля данных и методы класса
Указатель this
Друзья классов
Библиотечный класс stringСтроки в языках Си и Си++
Конструкторы класса string
Операции над строками
Методы класса string
Доступ к символу, конкатенация, присваивание
Размеры строк
Вставки, удаления, замены частей строк
Поиск в строке и извлечение подстрок
Сравнение строк и их частей
Обращение к данным объекта класса string
Массивы строк и обмены значениями строкКонсольный ввод-вывод строк и обмены с файлами
Перегрузка операций и классы ресурсоемких объектовРасширение действия (перегрузка) стандартных операций
Изменение интерфейса существующего класса
Классы ресурсоемких объектов
ИсключенияОбщие сведения об исключениях
Синтаксис и семантика механизма исключений
Исключения в конструкторах
Включение и наследование классовОтношение включения классов
Общие сведения о наследовании в Си++
Синтаксис наследования и доступность компонентов
Множественное наследование и виртуальные классы
Локальные классы
Специальные методы классов и перегрузка операций при наследованииМетоды при наследовании классов
Присваивание при наследовании
Конструкторы при наследовании
Деструкторы при наследовании
Перегрузка операций при наследовании
Принцип подстановки и его реализация на языке Си++
Наследование и ресурсоемкие классы
Виртуальные функции и абстрактные классыВиртуальные функции
Присваивания при наследовании
Деструкторы при наследовании
Реализация виртуальных функций
Абстрактные классы
Массивы и списки указателей на абстрактные классы
Шаблоны функций и классовШаблоны функций
Явная специализация шаблонной функции
Шаблоны классов
Внешнее определение методов и дружественные функции шаблонных классов
Специализации шаблонов классов
Частичная пользовательская специализация
Объекты и массивы объектов шаблонных классов
Механизмы, использованные при построении STLКраткие сведения о STL
Шаблоны функций и обобщенные алгоритмы
Контейнеры и итераторы
Взаимодействие средств STL с контейнерами и алгоритмами пользователя
Основные средства библиотеки STLО концепции построения STL
Контейнеры STL
Основные методы контейнеров
Итераторы в STL
Функциональные объекты (функторы)
Алгоритмы STL
Стандартная библиотека и ввод-выводОбзор стандартной библиотеки Си++
Ввод-вывод в языке Си++
Форматирование данных при обменах с потоками
Функции для обмена с потоками 583
Работа с файлами
ПриложенияРазработка консольных приложений в среде Microsoft Visual Studio.Net 2005
Константы предельных значений
Таблицы кодов
Вывод на консоль русского текста
Методы класса string
Стандартные функции библиотеки Си
Алгоритмы STL
Средства ввода-вывода в Си++
Комплексные числа в Си++
Свободно распространяемый компилятор DJGPP
Библиографический список
Указатель символов
Предметный указатель