Share via


Systeminterne Funktionen

Ein Ausdruck im SAL kann ein Ausdruck /C ++ sein, vorausgesetzt, dass ein Ausdruck ist, der nicht Seite Effekt – z. B. ++ verfügt, --und alle Funktionsaufrufe haben Nebeneffekte in diesen Kontext.stellt jedoch SAL einige Funktion ähnliche Objekte und einige reservierte Symbole, die in den SALZausdrücken verwendet werden können.Diese wird als systeminterne Funktionen.

Allgemein

Die folgenden instrinsic Funktionsanmerkungen stellen allgemeine Hilfsprogramm für SAL bereit.

Anmerkung

Beschreibung

_Curr_

Ein Synonym für das Objekt, das derzeit hinzugefügt wird.Wenn die _At_ Anmerkung verwendet wird, ist _Curr_ dasselbe wie der erste Parameter zu _At_.Andernfalls ist es der Parameter oder die gesamte Funktion/der Rückgabewert, mit dem die Anmerkung lexikalisch zugeordnet ist.

_Inexpressible_(expr)

Drückt eine Situation aus, in der die Größe eines Puffers zu komplex ist, darzustellen, indem eine Anmerkung Ausdruck-für Beispiel verwendet, wenn sie berechnet wird, indem ein Eingabedataset überprüft und dann ausgewählte Member zählt.

_Nullterm_length_(param)

param ist die Anzahl der Elemente im Puffer jedoch nicht bis einschließlich eines NULL-Abschlusszeichens.Sie wird auf jedem Puffer des NichtAggregats, Nichtvoid-Typ angewendet werden.

_Old_(expr)

Wenn es in Vorbedingung ausgewertet wird, gibt _Old_ den Eingabewert expr zurück.Wenn es in Nachbedingung ausgewertet wird, gibt es den Wert expr zurück, da es in Vorbedingung ausgewertet worden wäre.

_Param_(n)

Der n Thparameter an eine Funktion, Zählen von 1 zu n und n ist eine literale ganzzahlige Konstante.Wenn der Parameter benannt wird, ist diese Anmerkung zu auf den Parameter über den Namen zugreifen identisch.

HinweisHinweis
n verweist möglicherweise die Positionsparameter, die von Auslassungszeichen definiert sind, oder wird in den Funktionsprototypen verwendet werden, in denen Namen nicht verwendet werden.

return

Das C/C++ reservierten Schlüsselwort return kann in einem SALZausdruck verwendet werden, um den Rückgabewert einer Funktion anzugeben.Der Wert ist im Nachbedingung nur verfügbar; Es ist ein Syntaxfehler, um ihn im Zustand vor zu verwenden.

Zeichenfolgen-Besondere

Die folgenden Anmerkungen der systeminternen Funktion aktivieren Manipulation von Zeichenfolgen.Alle vier dieser Funktionen dienen den gleichen Zweck: auf die Anzahl von Elementen des Typs zurückgeben, der vor einem NULL-Zeichen gefunden wird.Die Unterschiede sind die Arten von Daten in den Elementen, die bezeichnet werden.Beachten Sie, dass, wenn Sie die Länge eines auf NULL endende Puffers angeben möchten, der nicht von Zeichen zusammengesetzt ist, die _Nullterm_length_(param) Anmerkung im vorherigen Abschnitt verwenden Sie.

Anmerkung

Beschreibung

_String_length_(param)

param ist die Anzahl der Elemente in der Zeichenfolge bis jedoch nicht einschließlich eines NULL-Abschlusszeichens.Diese Anmerkung wird für Zeichenfolge-vonZeichentypen reserviert.

strlen(param)

param ist die Anzahl der Elemente in der Zeichenfolge bis jedoch nicht einschließlich eines NULL-Abschlusszeichens.Diese Anmerkung wird zur Verwendung auf Zeichenarrays reserviert und der C-Laufzeitfunktion dar strlen () ähnelt.

wcslen(param)

param ist die Anzahl der Elemente in der Zeichenfolge bis zu (aber nicht) einschließlich einem NULL-Zeichen.Diese Anmerkung wird zur Verwendung auf Breitzeichenarrays reserviert und der C-Laufzeitfunktion dar wcslen () ähnelt.

Siehe auch

Referenz

Hinzufügen einer Anmerkung zu Funktionsparametern und Rückgabewerten

Hinzufügen einer Anmerkung zum Funktionsverhalten

Hinzufügen einer Anmerkung zu Strukturen und Klassen

Hinzufügen einer Anmerkung zum Sperrverhalten

Angeben, wann und wo eine Anmerkung gültig ist

Empfohlene Vorgehensweisen und Beispiele (SAL)

Konzepte

Einführung in SAL

Weitere Ressourcen

Verwenden von SAL-Anmerkungen zum Reduzieren von C/C++-Codefehlern