Поделиться через


Назначение атрибутов

Атрибуты расширяют C++ в направлениях не в данный момент возможно, не нарушая классического структуру языка. Атрибуты позволяют поставщикам (отдельных библиотек DLL), чтобы расширить функциональные возможности языка динамически. Основное назначение атрибутов упростить создание компонентов COM, в дополнение к увеличению производительность разработчиков уровня компонента. Атрибуты можно применять к практически любой конструкции C++, например, классы, элементы данных или функции-члены. Следующее выделение преимуществ, предоставляемых этой новой технологии.

  • Предоставляет простое знакомое и соглашение о вызовах.

  • Использует вставленный код, который, в отличие от макросы, отладчиком.

  • Обеспечивает удобный наследование от базовых классов, не отяготительных подробности реализации.

  • Заменяет большие объемы необходимого кода IDL компонентом COM, в которых число сжатых атрибутов.

Например, чтобы реализовать простой приемник событий для универсального класса библиотеки ATL можно применить event_receiver атрибут к определенному классу как CMyReceiver. Event_receiver атрибут затем компилироваться компилятором Visual C++, который представляет правильный код в объектный файл.

[event_receiver(com)]
class CMyReceiver 
{
   void handler1(int i) { ... }
   void handler2(int i, float j) { ... }
}

Затем можно настроить CMyReceiver методы handler1 и handler2 обработка событий (с помощью функции внутреннеприсущую __hook) из источника событий, которые можно создать с помощью event_source.

См. также

Другие ресурсы

Основные понятия атрибутивного программирования