Partager via


Objectif des attributs

Les attributs étendent C++ dans les instructions pas actuellement possibles sans interrompre la structure classique du langage. Les attributs permettent aux fournisseurs distincts (DLL) pour étendre les fonctionnalités de langage dynamique. L'objectif principal des attributs est de faciliter la création de composants COM, en plus de augmenter la productivité au niveau de le développeur de composants. Les attributs peuvent être appliqués à presque tout élément C++, telles que les classes, les données membres, ou des fonctions membres. Voici une surbrillance des avantages fournies par cette nouvelle technologie :

  • Expose une convention d'appel et familière simple.

  • Utilise le code inséré, qui, contrairement aux macros, est identifié par le débogueur.

  • Permet la dérivation facile des classes de base sans détails d'implémentation fastidieuse.

  • Remplace un grand nombre de code IDL requis par un composant COM avec quelques attributs concis.

Par exemple, pour implémenter un récepteur d'événements simple pour une classe générique ATL, vous pouvez appliquer l'attribut d' event_receiver à une classe spécifique par exemple CMyReceiver. L'attribut d' event_receiver est compilé par le compilateur Visual C++, ce qui insère le code approprié dans le fichier objet.

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

Vous pouvez ensuite installer les méthodes handler1 et handler2 de CMyReceiver pour gérer des événements (à l'aide de la fonction intrinsèque __hook) d'une source d'événement, que vous pouvez créer à l'aide de event_source.

Voir aussi

Autres ressources

Concepts de programmation par attributs