組み込み関数
SAL の式は、C++ 効果の側がない式で C++ のは. /C C++ の式である必要があります。。、関数の呼び出しは、このコンテキストに副作用が生じます。ただし、SAL で SAL 式で使用できる予約済みシンボルや関数に似たオブジェクトを提供します。これらは、組み込み関数と呼ばれます。
汎用
次の instrinsic 関数は、SAL 注釈に汎用ユーティリティが用意されています。
注釈 |
説明 |
---|---|
_Curr_ |
現在指定されているオブジェクトのシノニムです。_At_ の注釈が使用中の場合、_Curr_ は _At_を最初のパラメーターと同じです。それ以外の場合、パラメーターまたは注釈が構文的に関連付けられた関数全体と戻り値です。 |
_Inexpressible_(expr) |
入力データをスキャンして、選択したメンバーをカウント算出されたときにバッファーのサイズが例や式の注釈を使用して表すには、複雑な状況を表します。 |
_Nullterm_length_(param) |
param は null 終端文字バッファーより前の要素の数です。これは非集約非 void 型の任意のバッファーに適用される可能性があります。 |
_Old_(expr) |
これは事前条件で評価される場合、_Old_ は入力値 exprを返します。これは後条件で評価される場合、事前条件で評価されます。expr 値を返します。 |
_Param_(n) |
関数の nth パラメーター、1 から nにカウント、および n はリテラル整数の定数です。パラメーターがある場合、この注釈は、パラメーターに名前でアクセスすることと同じです。
|
return |
SAL の式で C/C++ の予約済みのキーワード return が関数の戻り値を参照することができます。値が POST の状態でのみ使用できます。; これは、以前に使用する構文エラー状態になります。 |
文字列固有
次の組み込み関数の注釈は文字列の操作を有効にします。これらの関数の 4 つが、すべて同じで: null 終端文字の前にある型の要素数を返します。違いは、参照される要素のデータ型です。文字で構成される null で終わるなバッファーの長さを指定する場合は、前のセクションの _Nullterm_length_(param) の注釈を使用していることに注意してください。
注釈 |
説明 |
---|---|
_String_length_(param) |
param は null 終端文字より前 Strings 要素の数です。この注釈は、文字列の文字型のために予約されています。 |
strlen(param) |
param は null 終端文字より前 Strings 要素の数です。この注釈は、文字配列で使用するために予約されているため、C ランタイム関数 strlen ()に似ています。 |
wcslen(param) |
param は (ただし、) が null 終端文字まで文字列の要素の数です。この注釈はワイド文字の配列で使用するために予約されているため、C ランタイム関数 wcslen ()に似ています。 |