Condividi tramite


Scopo degli attributi

Gli attributi estendono non attualmente C++ in direzioni possibili senza interrompere la struttura classica del linguaggio.Gli attributi consentono ai provider separati (DLL) estendono dinamicamente la funzionalità del linguaggio.L'obiettivo primario degli attributi è quello di semplificare la creazione di componenti COM, oltre ad aumentare il livello di produttività degli sviluppatori di componenti.Gli attributi possono essere applicati a qualsiasi costrutto C++, come le classi, i membri dati, o funzioni membro.Ecco evidenziazione dei vantaggi forniti da questa nuova tecnologia:

  • espone una convenzione di chiamata comune e semplice.

  • Gli utilizzi di inserimento del codice, che, a differenza delle macro, è riconosciuto dal debugger.

  • Consente la derivazione delle classi di base senza dettagli di implementazione un'operazione gravosa.

  • Sostituisce una grande quantità di codice IDL necessario da un componente COM con alcuni attributi concisa.

Ad esempio, per implementare un sink di evento semplice per una classe generica ATL, è possibile applicare event_receiver attributo a una classe specifica come CMyReceiver.event_receiver l'attributo viene quindi compilato dal compilatore di Visual C++, che inserisce il codice appropriato nel file oggetto.

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

È quindi possibile impostare CMyReceiver metodi handler1 e handler2 per gestire gli eventi utilizzando la funzione intrinseca __hook) da un'origine evento, di cui è possibile creare utilizzando un event_source.

Vedere anche

Altre risorse

Concetti di programmazione con attributi