更新 : 2007 年 11 月
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 );