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

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

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

описатель_члена: описатель идентификатор opt : константное_выражение

инициализатор: = выражение = (* список_инициализаторов *) = (* список_инициализаторов , *) ( список_выражений )

список_инициализаторов: выражение список_инициализаторов , список_инициализаторов (* список_инициализаторов *)

спецификатор_enum: enum идентификатор opt (* enum-список *)

enum-список: перечислитель enum-список , перечислитель

перечислитель: идентификатор идентификатор = константное_выражение

14.3 Операторы

составной_оператор: (* список_операторов opt *)

список_операторов: оператор оператор список_операторов

оператор: описание составной_оператор выражение opt ; if ( выражение ) оператор if ( выражение ) оператор else оператор while ( выражение ) оператор do оператор while ( выражение ) ; for ( оператор выражение opt ; выражение opt ) оператор switch ( выражение ) оператор case константное_выражение : оператор default : оператор break ; continue ; return выражение opt ; goto идентификатор ; идентификатор : оператор

14.4 Внешние определения

программа: внешнее_определение внешнее_определение программа

внешнее_определение: определение_функции описание

определение_функции: спецификаторы_описания opt описатель_функции инициализатор_базового opt тело_функции

описатель_функции: описатель ( список_описаний_параметров )

тело_функции: составной_оператор

инициализатор_базового: : ( список_инициализаторов_членов opt )

14.5 Препроцессор

#define идентификатор строка_лексем

#define идентификатор( идентификатор,...,идентификатор ) строка лексем #else #endif #if выражение #ifdef идентификатор #ifndef идентификатор #include «имя_файла» #include «имя_файла» #line константа «имя_файла» #undef идентификатор

15. Отличия от C

15.1 Расширения

Типы параметров функции могут быть заданы (#8.4) и будут проверяться (#7.1). Могут выполняться преобразования типов (# 7.1).

Для выражений с числами с плавающей точкой может исползоваться плавающая арифметика одинарной точности; #6.2.

Имена функций могут быть перегружены; #8.9.

Операции могут быть перегружены; 7.16, #8.5.11.

Функции могут быть inline-подставляемыми; #8.1.

Объекты данных могут быть константными (const); #8.3.

Могут быть описаны объекты ссылочного типа; #8.4, #8.6.3

Операции new и delete обеспечивают свободное хранение в памяти, #7.2.

Классы могут обеспечивать сокрытие данных (#8.5.9), грантированную инициализацию (#8.6.2), определяемые пользовтелем преобразвания (#8.5.6), и динамическое типизирование через использование виртуальных функций (#8.5.4).

Имя класса или перечисления является именем типа; #8.5.

Любой указатель может присваиваться void* без применеия приведения к типу; #7.14.

Описание внутри блока является оператором; #9.14.

Можно описывать безымянные объединения; #8.5.13.

15.2 Сводка несовместимостей

Большинство конструкций C допустимы в С++ без изменения их смысла. Исключения из этого следующие:

Программы, использующие одно из новых ключевых слов

class const delete friend inline new operator overload public signed this virtual volatile

как идентификаторы, недопустимы.

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