次の方法で共有


注釈を適用するタイミングと場所の指定

コメントは、条件付き APTCA と、他のコメントがアナライザーに指定する必要があります。たとえば、関数に同期または非同期となる変数に対してこの関数は次のとおりです: 同期ケースでは、常に成功しますが、非同期ケースですぐに成功できない場合、エラーが報告されます。関数が同期的に呼び出すと、結果の値をチェックすると、コード アナライザーに戻らなかろうため、値を提供しません。ただし、関数が非同期的に呼び出され、関数の結果がチェックされていない場合に、重大なエラーが発生することがあります。この例では、チェックを有効にするこの記事の後半で説明するコメント _When_ を使用して状態を示しています。

コメント構造

コメントによって、適用する場所を制御するには、次の構造コメントを使用します。

注釈

説明

_At_(expr, anno-list)

expr は、左辺値を取得する式です。anno-list のコメントは exprで示されたオブジェクトに適用されます。anno-listの各コメントを記述する場合は、expr では、コメントの後条件に解釈されるとコメントが事前条件で解釈される場合は、事前条件後条件解釈されます。

_At_buffer_(expr, iter, elem-count, anno-list)

expr は、左辺値を取得する式です。anno-list のコメントは exprで示されたオブジェクトに適用されます。anno-listの各コメントを記述する場合は、expr では、コメントの後条件に解釈されるとコメントが事前条件で解釈される場合は、事前条件後条件解釈されます。

iter はコメントにスコープされた変数の名前です (anno-listの包括)。iter に暗黙の型 longがあります。すべての外側のスコープ内で同じ名前の変数は評価から非表示になります。

elem-count が整数型に評価される式です。

_Group_(anno-list)

anno-list のコメントはすべて、各コメントに適用されるグループのコメントに適用する修飾子と見なされます。

_When_(expr, anno-list)

expr は boolに変換できる式です。それ以外の場合true (の場合) は、anno-list に考慮が適用される指定したコメント。

既定では、anno-listの各コメントを記述する場合は、expr は、入力値を使用したときに、コメントの後条件のコメントが事前条件の場合、出力値を使用してとして解釈されます。入力値が使用されることを示すために後条件を評価するときに既定値をオーバーライドするには、_Old_ の組み込みを使用できます。

メモメモ
コメントは異なる _When_ の使用例の結果として値の変更、*pLength有効になります。—事前条件の評価結果がの expr された後条件の評価される結果とは異なるため、複雑です。

参照

関連項目

関数パラメーターおよび戻り値の注釈設定

関数の動作に注釈を付ける

構造体とクラスに注釈を付ける

ロック動作に注釈を付ける

組み込み関数

ベスト プラクティスと例 (SAL)

概念

SAL について

その他の技術情報

SAL 注釈を使って C/C++ のコード障害を減らす方法