C++ - Страустрап Бьярн, Хилл Мюррей

C++
С++ – это многофункциональный язык программирования, по изначально задуманный так, чтобы сделать программирование более простым для опытного программиста. Если не брать в рассчет дополнительных деталей С++ является надмножеством программного языка C. Не считая возможностей, которые предоставляет C, С++ предоставляет гибкие и производительные инструменты определения новых типов. Используя формулировки новых типов, конкретно отвечающих положениям приложения, программист имеет возможность делить разрабатываемую программу на проще поддающиеся управлению части. Такой способ написания программ часто называют обобщением данных. Данные о типах содержится в некоторых предметах типов, сформулированных пользователем. Такие предметы надежны и просты в использовании в тех условиях, когда их вид не представляется вохможным установить на стадии составлении. Программирование с использованием таких предметов часто называют ориентированно-объектным. При должном использовании этот метод дает более краткие, проще усваиваемые и более легко управляемые программы.
Основным термином С++ является класс. Класс – это вид, который определяет сам пользователь. Классы обеспечивают анонимность данных, обеспеченную инициализацию информации, смутное преобразование видов для видов, определенных эксплуатантом, меняющееся задание вида, управляемые пользователем контроль над памятью и механизмы перезагрузки процессов. С++ предоставляет более качественные, чем в C, средства выражения модульного принципа программы и проверки видов. В языке также присутствуют апгрейды, не связанные напрямую с классами, включающие в себя символические постоянные, параметры функции по умолчанию, inline-подстановку функций, операции управления свободной памятью и ссылочный тип, перезагруженные имена функций. В С++ сохранены потенциалы языка C по работе с заглавными предметами машинного обеспечения (байты, биты, адреса, слова и т.п.). Это дает шанс весьма продуктивно воспроизводить виды, определяемые эксплуатантом.
С++ и его библиотеки установленные по умолчанию спроектированы так, чтобы гарантировать переносимость. Имеющееся на данный временной отрезок воспроизводство языка будет идти в большинстве систем, которые в состоянии поддерживать C. Из С++ программ возможно прибегать к пользованию C библиотеки, и с С++ возможно прибегать к пользованию большей части инструментальных средств, поддерживающих программирование на C.
Эта книга рассчитана в первую очередь для того, чтобы оказать помощь опытным программистам изучить язык и применять его в нестандартных проектах. В ней дано полное описание С++, множество фрагментов программ и примеров.

C++ - Страустрап Бьярн, Хилл Мюррей читать онлайн бесплатно полную версию книги

Кроме того, в развитие С++ внесли свой вклад сотни людей, которые присылали мне предложения по усовершенствованию, описания трудностей, с которыми они сталкивались, и ошибки компилятора. Здесь я могу упомянуть лишь немногих из них: Гэри Бишоп, Эндрю Хьюм, Том Карцес, Виктор Миленкович, Роб Мюррэй, Леони Росс, Брайэн Шмальт и Гарри Уокер

В издании этой книги мне помогли многие люди, в частности, Джон Бентли, Лаура Ивс, Брайэн Керниган, Тэд Ковальски, Стив Махани, Джон Шопиро и участники семинара по С++, который проводился в Bell Labs, Колумбия, Огайо, 26-27 июня 1985 года.

Мюррэй Хилл, Нью Джерси Бьярн Страустрап

Заметки для читателя

«О многом,» – молвил Морж, – «Пришла пора поговорить.»

Л. Кэррол

В этой главе содержится обзор книги, список библиографических ссылок и некоторые замечания по С++ вспомогательного характера. Замечания касаются истории С++, идей, оказавших влияние на разработку С++, и мыслей по поводу программирования на С++. Эта глава не является введением: замечания не обязательны для понимания последующих глав, и некоторые из них предполагают знание С++.

Структура этой книги

Глава 1 – это короткое турне по основным особенностям С+ +, предназначенное для того, чтобы дать читателю почувствовать язык. Программисты на C первую половину главы могут прочитать очень быстро, она охватывает главным образом черты, общие для C и С++. Во второй главе описаны средства определения новых типов в С++, начинающие могут отложить более подробное изучение этого до того, как прочтут Главы 2, 3 и 4.

В Главах 2, 3 и 4 описываются средства С++, не входящие в определение новых типов: основные типы, выражения и структуры управления в С++ программах. Другими словами, в них описывается подмножество С++, которое по существу является языком C. Рассмотрение в них проводится гораздо подробнее, но полную информацию можно найти только в справочном руководстве.

В Главах 5, 6 и 7 описываются средства С++ по описанию новых типов, особенности языка, не имеющие эквивалента в C. В Главе 5 приводится понятие базового класса, и показывается, как можно инициализировать объекты типа, определяемого пользователем, обращаться к ним и, наконец, убирать их. В Главе 6 объясняется, как для определяемого пользователем типа определять унарные и бинарные операции, как задавать преобразования между типами, определяемыми пользователем, и как как задавать то, каким образом должно обрабатываться каждое создание, уничтожение и копирование значения определяемого пользователем типа. Глава 7 описывает концепцию производных классов, которая позволяет программисту строить более сложные классы из более простых, обеспечивать альтернативные интерфейсы класса и работать с объектами эффективно и с гарантией типа в тех ситуациях, когда типы объектов не могут быть известны на стадии компиляции.

В Главе 8 представлены классы ostream и istream, предоставляемые стандартной библиотекой для осуществления ввода-ввода. Эта глава имеет двоякую цель: в ней представлены полезные средства, что одновременно является реальным примером использования С++.

И, наконец, в книгу включено справочное руководство по С++.

Ссылки на различные части этой книги даются в форме #2.3.4 (Глава 2 подраздел 3.4). Глава с – это справочное руководство например #с.8.5.5.

Замечания по реализации

Перейти
Наш сайт автоматически запоминает страницу, где вы остановились, вы можете продолжить чтение в любой момент
Оставить комментарий