Condividi tramite


Deref

Ogni istanza di un attributo Pre o Post specifica un insieme di proprietà per il valore restituito o per il parametro annotato a un determinato livello di risoluzione dei riferimenti. Il livello di risoluzione del riferimento viene specificato dalla proprietà Deref dell'attributo e da tutte le proprietà visualizzate dopo l'applicazione di una proprietà Deref a tale livello di risoluzione. Ad esempio, dato un parametro p, un attributo con Deref=0 specifica le proprietà per p, Deref=1 specifica le proprietà per *p, Deref=2 specifica le proprietà per **p e così via. Il valore della proprietà Deref deve essere superiore o uguale a 0 e inferiore o uguale a 3.

Nota

Il valore predefinito per questa proprietà è 0.

Per un parametro del tipo di riferimento, ad esempio, int& r, Deref=0 si applica al riferimento stesso; Deref=1 si applica alla posizione a cui viene fatto riferimento, che è int in questo caso.

Esempio

Nel codice riportato di seguito viene specificato Deref=1, che applica la proprietà Access al buffer a cui fa riferimento il puntatore.

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ( [ SA_Pre ( Deref = 1, Access = SA_ReadWrite ) ] char *p );

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ( [ Pre ( Deref = 1, Access = ReadWrite ) ] char *p );

Vedere anche

Concetti

Cenni preliminari sull'annotazione