Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Срауструп CPP.doc
Скачиваний:
7
Добавлен:
05.11.2018
Размер:
4.95 Mб
Скачать

Предварительные замечания

"О многом - молвил Морж,-

пришла пора поговорить ".

Л.Кэрролл

Данная глава содержит краткий обзор книги, список литературы и

некоторые дополнительные замечания о языке С++. Замечания касаются истории

создания С++, идей, которые оказали существенное влияние на разработку

языка, и некоторых мыслей по поводу программирования на С++. Эта глава не

является введением; приведенные замечания не являются необходимыми для

понимания последующих глав. Некоторые из них предполагают знакомство

читателя с С++.

Структура книги

Книга состоит из трех частей. Главы с 1 по 10 являются учебником по

языку. В главах с 11 по 13 обсуждаются вопросы проектирования и развития

программного обеспечения с учетом возможностей С++. В конце книги

приведено полное справочное руководство по языку. Исчерпывающее описание

конструкций С++ содержится только там. Учебная часть книги содержит

примеры, советы, предостережения и упражнения, для которых не нашлось

места в руководстве.

Книга в основном посвящена вопросу, как с помощью языка C++

структурировать программу, а не вопросу, как записать на нем алгоритм.

Следовательно, там, где можно было выбирать, предпочтение отдавалось не

профессиональным, но сложным для понимания, а тривиальным алгоритмам. Так

в одном из примеров используется пузырьковая сортировка, хотя алгоритм

быстрой сортировки больше подходит для настоящей программы. Часто

написать ту же программу, но с более эффективным алгоритмом, предлагается

в виде упражнения.

Глава 1 содержит краткий обзор основных концепций и конструкций С++.

Она позволяет познакомиться с языком в общих чертах. Подробные объяснения

конструкций языка и способов их применения содержатся в последующих

главах. Обсуждаются в первую очередь средства, обеспечивающие абстракцию

данных и объектно-ориентированное программирование. Основные средства

процедурного программирования упоминаются кратко.

В главах 2, 3 и 4 описываются средства С++, которые не используются

для определения новых типов: основные типы, выражения и структуры

управления. Другими словами, эти главы содержат описание той части языка,

которая по сути представляет С. Изложение в указанных главах идет в

углубленном виде.

Главы 5 - 8 посвящены средствам построения новых типов, которые не

имеют аналогов в С. В главе 5 вводится основное понятие - класс. В ней

показано, как можно определять пользовательские типы (классы),

инициализировать их, обращаться к ним, и, наконец, как уничтожать их.

Глава 6 посвящена понятию производных классов, которое позволяет строить

из простых классов более сложные. Оно дает также возможность эффективной и

безопасной (в смысле типа) работы в тех ситуациях, когда типы объектов на

стадии трансляции неизвестны. В главе 7 объясняется, как можно определить

унарные и бинарные операции для пользовательских типов, как задавать

преобразования таких типов, и каким образом можно создавать, копировать и

удалять объекты, представляющие пользовательские типы. Глава 8 посвящена

шаблонам типа, т.е. такому средству С++, которое позволяет определить

семейство типов и функций.

В главе 9 обсуждается обработка особых ситуаций, рассматриваются

возможные реакции на ошибки и методы построения устойчивых к ошибкам

систем. В главе 10 определяются классы ostream и istream, предоставляемые

стандартной библиотекой для потокового ввода-вывода.

Главы 11 - 13 посвящены вопросам, связанным с применением С++ для

проектирования и реализации больших программных систем. В главе 11 в

основном рассматриваются вопросы проектирования и управления программными

проектами. В главе 12 обсуждается взаимосвязь между языком С++ и

проблемами проектирования. В главе 13 показаны способы создания библиотек.

Завершается книга справочным руководством по С++.

Ссылки на различные части книги даются в виде $$2.3.4, что означает