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