Freigeben über


Deref

Jede Instanz eines Pre-Attributs oder Post-Attributs gibt Eigenschaften für den Parameter oder Rückgabewert mit Anmerkungen auf einer bestimmten Dereferenzierungsebene an. Die Dereferenzierungsebene wird durch die Deref-Eigenschaft des Attributs angegeben. Beim Parameter p gibt ein Attribut mit Deref=0 die Eigenschaften für p an, mit Deref=1 die Eigenschaften für *p, mit Deref=2 die Eigenschaften für **p usw. Der Wert von Deref muss größer oder gleich 0 (null) sein.

Hinweis

Der Standardwert für diese Eigenschaft ist 0 (null).

Bei einem Parameter des Verweistyps, z. B. int& r, gilt Deref=0 für den Verweis, während Deref=1 für den Speicherort gilt, auf den verwiesen wird, in diesem Fall int.

Beispiel

Im folgenden Code wird Deref=1 angegeben, wodurch die Access-Eigenschaft auf den Puffer angewendet wird, auf den mit dem Zeiger verwiesen wird.

// C
#include <codeanalysis/sourceAnnotations.h>
void f ( [ 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 );

Siehe auch

Konzepte

Übersicht über Anmerkungen