註釋結構和類別

附註不區分註釋的結構與類別是可能的--假設它們在任何函式呼叫或函式涉及封入結構做為參數或結果值的 entry/exit。

結構和類別的附註

註釋

說明

_Field_range_(low, high)

欄位在範圍 (包含) 從 low 至 high。以適當 Pre 或 Post 條件,對等於套用 _Satisfies_(_Curr_ >= low && _Curr_ <= high) 至標註物件。

_Field_size_(size)

_Field_size_opt_(size)

_Field_size_bytes_(size)

_Field_size_bytes_opt_(size)

有可寫入的大小在項目中的欄位 (或位元組) 所指定的 size。

_Field_size_part_(size, count)

_Field_size_part_opt_(size, count)

_Field_size_bytes_part_(size, count)

_Field_size_bytes_part_opt_(size, count)

有可寫入的大小在項目中的欄位 (或位元組) 依 size和是可讀取的 count 項目 (位元組)。

_Field_size_full_(size)

_Field_size_full_opt_(size)

_Field_size_bytes_full_(size)

_Field_size_bytes_full_opt_(size)

具有可讀取、可寫入的大小在項目中的欄位 (或位元組) 所指定的 size。

_Struct_size_bytes_(size)

適用於結構或類別宣告。表示該型別有效的物件比宣告型別大,與 size所指定的位元組數相比。例如:

typedef _Struct_size_bytes_(nSize)
struct MyStruct {
    size_t nSize;

};
 

緩衝區大小在參數型別 MyStruct *pM 的位元組會接受如下:

min(pM->nSize, sizeof(MyStruct))

請參閱

參考

註釋函式參數和傳回值

註釋函式行為

註釋鎖定行為

指定套用註釋的時機和位置

內建函式

最佳作法和範例 (SAL)

概念

了解 SAL

其他資源

使用 SAL 註釋減少 C/C++ 程式碼的缺失