內建函式
SAL 中的運算式可以是 C/C++ 運算式 (假設該運算式沒有副作用的話),例如 ++、-- 和函式呼叫在這個內容中全都有副作用。 不過,SAL 確實提供一些類似函式的物件,以及可用於 SAL 運算式的一些保留符號。 這些稱為 內建函式 。
一般用途
下列內建函式註釋提供 SAL 的一般公用程式。
註釋 | 描述 |
---|---|
_Curr_ |
目前標註之物件的同義字。 正在使用 _At_ 註釋時,_Curr_ 和 _At_ 的第一個參數相同。 否則,它會是與註釋在語彙上相關聯的參數或整個函式/傳回值。 |
_Inexpressible_(expr) |
表示緩衝區的大小太複雜而無法使用註釋運算式表示的情況,例如,透過掃描輸入資料集,然後計算所選取成員的方式計算。 |
_Nullterm_length_(param) |
param 是緩衝區中最多但不包含 Null 結束字元的專案數目。 它可以套用至任何非匯總、非 void 類型的緩衝區。 |
_Old_(expr) |
在前置條件下進行評估時,_Old_ 會傳回輸入值 expr 。 在後置條件下進行評估時,它會傳回值 expr ,因為它已在前置條件下進行評估。 |
_Param_(n) |
函 n 式的第一個參數,從 1 計算為 n ,而 n 是常值整數常數。 如果參數已命名,這個批註會與依名稱存取參數相同。 注意: n 可以參考省略號所定義的位置參數,或可用於未使用名稱的函式原型中。 |
return |
C/C++ 保留關鍵字 return 可用於 SAL 運算式,以指出函式的傳回值。 值只能在後置狀態下使用,因此在前置狀態下使用就是語法錯誤。 |
字串特定
下列內建函式註釋可讓您操作字串。 這四種函式的目的都相同:傳回 null 結束字元之前所找到類型的項目數。 差異在於項目中參考的資料類型。 請注意,如果您要指定不是以字元組成之以 null 終止的緩衝區長度,請使用前一節中的 _Nullterm_length_(param)
註釋。
註釋 | 描述 |
---|---|
_String_length_(param) |
param 是字串中最多但不包含 Null 結束字元的專案數目。 此批註會保留給字元字串類型。 |
strlen(param) |
param 是字串中最多但不包含 Null 結束字元的專案數目。 此批註保留供字元陣列使用,類似于 C 執行時間函 式 strlen() 。 |
wcslen(param) |
param 是字串中最多 (但不包括) 為 Null 結束字元的專案數目。 此批註保留供寬字元陣列使用,類似于 C 執行時間函 式 wcslen() 。 |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應