Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
Cada instancia de un atributo Pre o Post especifica un conjunto de propiedades para el parámetro anotado o valor devuelto en un nivel concreto de eliminación de referencias. El nivel de eliminación de referencias lo indica la propiedad Deref del atributo y todas las propiedades que aparecen después de ella se aplican a ese nivel de eliminación de referencias. Por ejemplo, si tomamos el parámetro p, un atributo con Deref=0 especifica las propiedades de p, Deref=1 especifica las propiedades de *p, Deref=2 especifica las propiedades de **p, y así sucesivamente. El valor de Deref debe ser igual o mayor que 0 e igual o menor que 3.
Nota: |
|---|
El valor predeterminado de esta propiedad es 0. |
Para un parámetro de tipo de referencia, por ejemplo, int& r, Deref=0 se aplica a la referencia propiamente dicha; Deref=1 se aplica a la ubicación a la que se hace referencia, que es - int en este caso.
Ejemplo
El código siguiente especifica Deref=1, que aplica la propiedad de Access al búfer al que señala el puntero.
// 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 );
Nota: