Deref

Pre 或 Post 特性的每个实例在特定的取消引用级别为批注参数或返回值指定一组属性。 取消引用级别由特性的 Deref 属性指定,在 Deref 属性之后出现的所有属性都应用于该取消引用级别。 例如,给定一个参数 p,Deref=0 的特性指定 p 的属性,Deref=1 的特性指定 *p 的属性,Deref=2 的特性指定 **p 的属性,依此类推。 Deref 的值应大于或等于 0 并且小于或等于 3。

提示

此属性的默认值为 0。

对于引用类型的参数,例如 int& r,Deref=0 应用于引用本身;Deref=1 应用于引用到的位置,在本例中为 int。

示例

下面的代码指定 Deref=1,这会将 Access 属性应用于指针指向的缓冲区。

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

请参见

概念

批注概述