Бьярн Страустрап - Справочное руководство по C++

Здесь есть возможность читать онлайн «Бьярн Страустрап - Справочное руководство по C++» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Справочное руководство по C++: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Справочное руководство по C++»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Справочное руководство по C++ — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Справочное руководство по C++», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

class идентификатор

имя-шаблонного-класса:

имя-шаблона-типа ‹ список-парам-шаблона-типа ›

список-парам-шаблона-типа:

парам-шаблона-типа

список-парам-шаблона-типа , парам-шаблона-типа

парам-шаблона:

выражение

имя-типа

R.17.9 Обработка особых ситуаций

проверяемый-блок:

try составной-оператор список-обработчиков

список-обработчиков:

обработчик список-обработчиков opt

обработчик:

catch ( описание-особой-ситуации ) составной-оператор

описание-особой-ситуации:

список-спецификаций-типа описатель

список-спецификаций-типа абстрактный-описатель

список-спецификаций-типа

выражение-запуска:

throw выражение opt

спецификация-особой-ситуации:

throw ( список-типа opt)

список-типа:

имя-типа

список-типа , имя-типа

R.18 Приложение B: Совместимость

Это приложение не относится к справочному руководству C++ и не является определением конструкций языка.

Язык C++ основывается на С (описание в книге Кернигана и Ритчи, 78 г., дальше K&R) и включает большинство изменений, предложенных в ANSI стандарте для С. При конвертировании программ на языках С++, K&R C и ANSI C могут возникнуть трудности в связи с различным вычислением в них выражений. Транслятор должен распознавать все различия между C++ и ANSI C. Программы на C++ и ANSI C должны иметь одинаковый смысл за исключением трех следующих случаев:

В языке С выражение sizeof('a') равно sizeof(int), а в C++ оно равно sizeof(char).

Если есть описание

enum e { A };

то sizeof(A) равно в С sizeof(int), тогда как в C++ оно равно sizeof(e) и не обязано быть равно sizeof(int).

Имя структуры, описанной во внутреннем блоке, может скрывать имя объекта, функции, элемента перечисления или типа из внешнего блока.

Приведем пример:

int x[99];

void f()

{

struct x { int a; };

sizeof(x); /* для C это размер массива */

/* а для C++ размер структуры */

}

R.18.1 Расширения

В этом разделе перечисляются основные расширения языка С, введенные в С++.

R.18.1.1 Возможности С++, введенные в 1985 г.

Здесь перечисляются возможности, добавленные к С, версией языка C++ 1985 г.

Можно указывать типы формальных параметров функции (§R.8.2.5), и они будут проверяться (§R.5.2.2). Будет происходить преобразование типа (§R.5.2.2). Это есть и в ANSI C.

В выражениях со значениями типа float вычисления могут проходить с обычной точностью (§R.3.6.1 и §R.4.3). Это есть и в ANSI C.

Можно перегружать имена функций; §R.13.

Можно перегружать операции; §R.13.4

Возможна реализация вызова функций подстановкой; §R.7.1.2.

Можно описывать объекты, представляющие данные, со спецификацией const; §R.7.1.6. Это есть и в ANSI C.

Можно описывать типы ссылки; §R.8.2.2 и §R.8.4.3.

Возможно управление свободной памятью с помощью операций new и delete; §R.5.3.3 и §R.5.3.4.

Введены классы, которые позволяют: скрывать информацию (§R.11), проводить инициализацию (§R.12.1), осуществлять пользовательские преобразования типа (§R.12.3) и работать с динамическими типами с помощью виртуальных функций (§R.10.2).

Имя класса или перечисления считается именем типа; §R.9.

Указатель на любой объект c типом, не являющимся const или volatile, можно присвоить указателю типа void*. Это есть и в ANSI C.

Указатель на функцию можно присваивать указателю типа void*; §R.4.6.

Описание внутри блока считается оператором; §R.6.7.

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

R.18.1.2 Возможности, добавленные в C++ после 1985 г.

Здесь перечисляются основные расширения C++ после 1985 г.:

Класс может иметь более одного прямого базового класса (множественное наследование); §R.10.1.

Члены класса могут быть защищенными; §R.11.

Операции new и delete можно описывать в классе и перегружать; §R.5.3.3, §R.5.3.4, §R.12.5. Это позволило определенный способ управления памятью для класса с помощью "присваивания указателю this" отнести в раздел анахронизмов; §R.18.3.3.

Можно явно уничтожать объекты; §R.12.4.

Присваивания и инициализация для класса определены как присваивание и инициализация по членам; §R.12.8.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Справочное руководство по C++»

Представляем Вашему вниманию похожие книги на «Справочное руководство по C++» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Справочное руководство по C++»

Обсуждение, отзывы о книге «Справочное руководство по C++» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x