Partilhar via


Deref

Cada instância de um atributo Pre ou Post especifica um conjunto de propriedades para o parâmetro anotado ou valor de retorno em um nível específico de dereferência. O nível de desreferenciamento é especificado pela propriedade Deref do atributo e todas as propriedades que aparecem após a aplicação de uma propriedade de Deref a esse nível de desreferenciamento. Por exemplo, dado um parâmetro p, um atributo com Deref =0 especifica as propriedades para p, Deref=1 especifica as propriedades para *p, Deref=2 especifica as propriedades para **p, e assim por diante. O valor de Deref deve ser maior ou igual a 0 e menor ou igual a 3.

ObservaçãoObservação

O valor padrão para essa propriedade é 0.

Para um parâmetro de tipo de referência, por exemplo, int& r, Deref = 0 aplica-se a referência de si mesmo; Deref = 1 aplica-se para o local do referenciadas, que é - o int neste caso.

Exemplo

O código a seguir especifica Deref = 1, que aplica a propriedade Access para o buffer apontado pelo ponteiro.

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

Consulte também

Conceitos

Visão geral de anotação