Читать «Полный справочник по С++» онлайн - страница 451

Герберт Шилдт

Ключевое слово „delegate

Описывает представителя, инкапсулирующего указатель на функцию в управляемом классе (т.е. в классе с модификатором__дс).

Ключевое слово __event

Описывает функцию, представляющую событие. Задает лишь прототип этой функции.

Ключевое слово__finally

Является дополнением к стандартному механизму обработки исключительных ситуаций в языке C++. Оно используется для обозначения блока кода, который выполняется после выхода из блока try/catch. Блок__finally выполняется в любом случае.

Ключевое слово __дс

Описывает управляемый класс. Аббревиатура gc расшифровывается как “garbage collection” (уборка мусора) и означает, что объекты этого класса уничтожаются автоматически, когда становятся ненужными. Объект считается ненужным, если на него нет ни одной ссылки. Объекты класса, имеющего спецификатор__дс, должны созда

ваться с помощью оператора new. Массивы, указатели и интерфейсы также могут иметь спецификатор__дс.

Ключевое слово __ identifier

Позволяет использовать ключевое слово языка C++ в качестве идентификатора. Это специальное расширение языка C++, которое очень редко используется.

Ключевое слово__interface

Описывает класс, действующий как интерфейс. В интерфейсном классе ни одна функция не имеет тела. Все функции, входящие в интерфейсный класс, неявно считаются чисто виртуальными функциями. Таким образом, интерфейс, по существу, является абстрактным классом, в котором ни одна функция не имеет реализации.

Ключевое слово __подс

Описывает неуправляемый класс. Поскольку по умолчанию все классы считаются неуправляемыми, это ключевое слово обычно не используется.

Ключевое слово__pin

Описывает указатель, фиксирующий ячейку памяти, в которой расположен объект, на который он ссылается. Иначе говоря, “пришпиленный” (pinned) объект нельзя удалить из памяти с помощью механизма уборки мусора. В результате механизм уборки мусора не действует на указатель, имеющий модификатор__pin.

Ключевое слово „property

Описывает свойство, представляющее собой функцию-член, которая может извлекать и задавать значение переменной-члена. Такие функции-члены позволяют легко контролировать доступ к закрытым и защищенным членам.

Ключевое слово __sealed

Предотвращает наследование класса. С его помощью можно также предотвратить замещение виртуальной функции.

Ключевое слово__try_cast

Предусматривает попытку привести выражение к другому типу. Если приведение невозможно, генерируется исключительная ситуация типа system::invalidCast-Exception.

Ключевое слово__typeof

Позволяет получить объект, инкапсулирующий информацию о заданном типе. Этот объект является экземпляром класса System: :Туре.

Ключевое слово __value

Описывает класс, представленный как тип значения. Тип значения хранит свои

собственные значения. Он отличается от класса типа__дс, объект которого должен

создаваться с помощью оператора new. На класс с атрибутом__value не распростра

няется действие механизма уборки мусора.

Ш Расширение директив препроцессора

Для поддержки технологии .NET компания Microsoft предусмотрела директиву препроцессора #using, которая используется для импорта метаданных в программу. Метаданные содержат информацию о типе и членах, форма которой не зависит от конкретного языка программирования. Таким образом, метаданные облегчают поддержку многоязычного программирования. Все управляемые программы на языке С+ должны содержать заголовок <mscorlib.dll>, содержащий метаданные для платформы .NET.