Partager via


Deref

Mise à jour : novembre 2007

Chaque instance d'un attribut Pre ou Post spécifie un jeu de propriétés pour le paramètre ou la valeur de retour annoté à un niveau particulier de déréférencement. Le niveau de déréférencement est spécifié par la propriété Deref de l'attribut et toutes les propriétés apparaissant après une propriété Deref s'appliquent à ce niveau de déréférencement. Par exemple, en supposant un paramètre p, un attribut avec Deref=0 spécifie les propriétés de p, Deref=1 spécifie les propriétés de *p, Deref=2 spécifie les propriétés de **p, et ainsi de suite. La valeur de la propriété Deref doit être supérieure ou égale à 0 et inférieure ou égale à 3.

Remarque :

La valeur par défaut de cette propriété est 0.

Pour un paramètre de type référence, par exemple int& r, Deref=0 s'applique à la référence elle-même, Deref=1 s'applique à l'emplacement désigné, à savoir - le int dans ce cas.

Exemple

Le code suivant spécifie Deref=1, qui applique la propriété Access à la mémoire tampon sur laquelle pointe le pointeur.

// 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 );

Voir aussi

Concepts

Vue d'ensemble de l'annotation