Von welchen Objekten kann verschoben werden?
Der C-Standard ermöglicht das Verschieben von Objekten der in der C-Standardbibliothek definierten Typen. Dies bedeutet, dass ein neues Objekt mit den Daten eines vorhandenen Objekts erstellt und initialisiert werden kann, das dann in einen nicht spezifizierten Zustand verschoben wird.
Gültige Operationen für verschobene Objekte
Der Standard definiert, dass verschobene Objekte in einen gültigen, aber nicht spezifizierten Zustand versetzt werden sollen. Dies bedeutet, dass jede Operation ohne Vorbedingungen für ein verschobenes Objekt ausgeführt werden kann. Solche Operationen umfassen typischerweise:
Vorgänge mit Vorbedingungen
Vorgänge, die im Allgemeinen vorhanden sind Vorbedingungen wie Dereferenzierung und Pop_back können nicht direkt auf verschobene Objekte angewendet werden.
Beispiel: Swap-Funktionsvorlage
Die Swap-Funktionsvorlage in der Standardbibliothek zeigt dies die Möglichkeit, verschobene Objekte zuzuweisen. In dieser Funktion wird das verschobene Objekt zunächst einer temporären Variablen zugewiesen (Zeile 1). Dem ursprünglichen Objekt wird dann der Wert des anderen Objekts zugewiesen (Zeile 2), bevor ihm der Wert der temporären Variablen zugewiesen wird (Zeile 3).
Hinweis zur Initialisierungssyntax
Die Verwendung von T c = std::move(a) in Zeile 1 anstelle von T c(std::move) ist für die Diskussion von Verschiebeoperationen nicht relevant. Es ist einfach eine Frage des Stils und der Vorlieben.
Das obige ist der detaillierte Inhalt vonWelche Operationen sind für aus C verschobene Objekte gültig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!