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

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

лексемы.

После выполнения этих действий анализатор сможет вычислять строковые выражения, например:

а = "один" b = "два" с= а+Ь

Результат, записанный в переменной с, должен представлять собой конкатенацию строк а и Ь, т.е. быть строкой “одиндва”.

Вспомним об еще одном полезном применении синтаксического анализатора: создании простого всплывающего калькулятора, вычисляющего выражения, введенные пользователем, и выводящего результат на экран. Этот калькулятор может украсить любое коммерческое приложение. Если вы программируете в среде Windows, это будет особенно просто.

Полный справочник по

Приложение А

Расширение языка C++ для платформы .NET

Технология .NET (.NET Framework), разработанная компанией Microsoft, определяет среду разработки и выполнения распределенных приложений, использующих компоненты. Она позволяет объединять разные языки программирования, обеспечивает безопасность и машинонезависимость программ, а также создает общую платформу программирования под управлением системы Windows. Несмотря на то что технология .NET появилась лишь недавно, в ближайшем будущем она, без сомнения, станет основной средой программирования на языке C++.

Технология .NET обеспечивает управляемую среду выполнения программ. Программы, предназначенные для среды .NET, не компилируются в исполняемый объектный код. Вместо этого они транслируются в промежуточный язык Microsoft Intermediate Language (MSIL). а затем выполняются под управлением среды Common Language Runtime. Управляемое выполнение является механизмом, поддерживающим основные преимущества, предлагаемые технологией .NET.

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

Описание технологии .NET и способов ее применения выходит далеко за рамки нашей книги. (Эта тема для отдельной и довольно толстой книги!) Однако мы сделаем краткий обзор расширений языка C++, связанных с этой технологией. При этом мы будем предполагать, что читатели уже знакомы с основами технологии .NET.

ополнительные ключевые слова

Для поддержки технологии .NET компания Microsoft ввела в язык C++ новые ключевые слова.

__abstract __box __delegate

__event __finally __gc

__identifier __interface __nogc

__pin __property __sealed

__try_cast __typedef __value

Опишем каждое из эти слов.

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

Используется в сочетании с ключевым словом__gc для указания абстрактного

управляемого класса. Класс, имеющий атрибут__abstract, не имеет объектов. Кро

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

Ключевое слово __Ьох

Погружает значение в объект. Это позволяет использовать значения вместо объектов класса System::Object, являющегося базовым классом для всех объектов, создаваемых по технологии .NET.