Stdmove in c ++

Stdmove in c ++

Genau wie viele andere C ++ - Funktionen ist die Funktion STD :: MOVE () in ihrer Funktionalität einzigartig. Wie der Name schon sagt, wurde es verwendet, um den Wert einer Variablen auf eine andere zu verschieben und gleichzeitig den Wert der ersten Variablen zu löschen. Es kann mit oder ohne die Funktion push_back () der Vektorbibliothek verwendet werden. Beginnen wir den Artikel, um festzustellen, ob er funktioniert. Bitte erstellen Sie eine neue C ++ - Datei und öffnen Sie sie.

Beispiel 01:

Beginnen wir mit dem ersten Beispiel. Die Haupt -Header -Dateien für diesen Code wurden hinzugefügt, ich.e., iostream, Vektor, String und Dienstprogramm. Wir müssen den Standard -Namespace “STD hinzufügen.”So werden zwei Variablen vom String-Typ, S1 und S2, innerhalb der Haupt- () -Funktion initialisiert. Hier kommt der Vektortyp Iterator "V" eines String -Typs. Mit dem Iterator "V" -Objekt wird die Funktion push_back () auf S1 angewendet. Dies bedeutet, dass der Variablen -S1 -Wert an den letzten Standort des Vektors gedrängt wurde. Da der Vektor leer ist, wird er zuerst eingefügt. Hier kommt das „std :: move ()“, damit wir kein anderes Vektorobjekt erstellen können, um einen Mehrwert zu verleihen. Die Funktion PUSPE_BACK () verwendet also die Funktion „std :: move ()“, um die S2 -Zeichenfolge an einen Vektor „V“ an seinem letzten Ort zu verschieben. Die Cout -Erklärung ist hier, um uns über den daraus resultierenden Vektor informieren zu können. Die Schleife für die „für“ wird verwendet, um die Werte aus dem Vektor als Liste zu erhalten und sie über die "Cout". Der Code endet hier. Speichern Sie es und schließen Sie die Datei, um vorwärts zu verschieben.

enthalten
#enthalten
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
String S1 = "Hallo";
String S2 = "World";
Vektorv;
v.push_back (S1);
v.push_back (std :: move (s2));
Cout << "Overall Vector:";
für (String & X: v)
Cout << " << x << '\n';
Rückkehr 0;

Der Code muss vor seiner Ausführung kompiliert werden, um einen Fehler zu beheben. Daher wurde der G ++ - Compiler bisher verwendet. Der "./A.OUT ”Everlasting Anweisung ist hier, um unseren C ++ - Code auszuführen. Sie können sehen, dass das Ergebnis den Vektor von zwei Saiten zeigt.

Beispiel 02:

Schauen wir uns ein weiteres Beispiel für die Verwendung von STD :: MOVE () in C ++ auf einfachste Weise an. Der Code wird mit denselben Header -Bibliotheken gestartet, ich.e., iostream, Vektor, String und Dienstprogramm. Danach ist der Standard -Namespace „STD“ erforderlich, um die Verwendung des Schlüsselworts „STD“ immer wieder im Code zu vermeiden. Die Funktion main () wird mit der Initialisierung einer String -Variablen „S“ mit einem Stringwert gestartet. Der Vektor "VEC" des String -Typs wird als leer deklariert. Da es nur 1 String gibt, wird der resultierende Vektor mit dieser einzelnen Variablen konstruiert. Die Funktion push_back () wird also unter Verwendung des Vektorobjekts „VEC“ aufgerufen.Diese Funktion kopiert die Zeichenfolge
"S", um am letzten Ort eines Vektors "VEC" platziert zu werden.”Es löscht den Wert der Variablen" S "nicht. In der Cout -Anweisung wird der Wert von String "S" in der Shell nach Verwendung der Funktion push_back () angezeigt. Wiederum wird der gleiche Wert auf den letzten Ort eines Vektors verschoben, der die Funktion „Verschieben“ innerhalb der Methode „push_back ()“ verwendet. Die Cout -Anweisung zeigt den Wert von „S“ nach der Verwendung der Methode „Move“. In der Last wird die Cout -Klausel verwendet.

#enthalten
#enthalten
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
String S = "Linux";
VektorVEC;
vec.push_back (s);
Cout << "After Copy String: " << s << endl;
vec.push_back (move (s));
Cout << "After Move String: " << s << endl;
Cout<<"Vector Elements: "<Rückkehr 0;

Der Code wurde ausgeführt. Erstens zeigt es den Wert von „S“ nach dem Kopieren des Vektors „VEC.”Nachdem ein Move () verwendet wurde, wurde die Variable" S "leer. Letztendlich wurde der Vektorwert angezeigt.

Beispiel 03:

Lassen Sie uns ein letztes, aber nicht das geringste Beispiel für Move () haben (). Eine einzelne Bibliothek und ein Standard -Namespace sind enthalten. Die main () -Funktion wird mit der Initialisierung von zwei Ganzzahl -Vektoren V1 und V2 gestartet, die einen Bereich haben. Die erste Cout -Anweisung zeigt, dass wir den Wert des ersten Vektors V1 anzeigen werden. Die "für" -Schloop ist hier, um die Werte des ersten Vektors V1 von seiner Ausgangsposition bis zu ihrer Ende zu iterieren, indem die Funktion „Größen“ darin verwendet wird. Bei jeder Iteration zeigt es jeden Wert vom Vektor an. Das Gleiche wurde für Vektor V2 durchgeführt, um seine Ganzzahlwerte durch die Schleife "für" anzuzeigen.

Die STD :: MOVE () -Funktion verwendet die In -It -Funktion begin (). Der erste Parameter, v1.begin () zeigt den Startwert von Vektor V1, der in den Vektor V2 platziert werden soll. Der zweite Parameter, „v1.begin () + 4 “zeigt den letzten Ort von V1, den wir im Vektor V2 addieren können. Der dritte Parameter, „v2.begin () + 1 “zeigt den Ausgangspunkt des Vektors V2, an dem wir die Werte hinzufügen oder ersetzen müssen. Die letzte "für" -Schloop ist hier, um den neu aktualisierten Vektor V2 zu iterieren und auf der Shell anzuzeigen.

#enthalten
Verwenden von Namespace STD;
int main ()
Vektorv1 2, 4, 6, 8, 10;
Vektorv2 0, 0, 0, 0, 0;
Cout <<"Vector 1: ";
für (int i = 0; iCout << " " << v1[i];
Cout << endl;
Cout <<"Vector 2: ";
für (int i = 0; iCout << " " << v2[i];
Cout << endl;
std :: Move (v1.begin (), v1.begin () + 4, v2.begin () + 1);
Cout <<"Vector 2 After move: ";
für (int i = 0; iCout << " " << v2[i];
Cout << endl;
Rückkehr 0;

Bei der Ausführung werden beide Vektoren zuerst getrennt angezeigt. Danach zeigt der aktualisierte Vektor V2 die letzten 4 aktualisierten Werte.

Abschluss:

Dieser Artikel erläutert Beispiele für die Funktion STD :: MOVE () in C++. Wir haben die Funktion push_back () verwendet, um in unseren Codes klarer auszuarbeiten. Wir haben das Konzept der Vektoren in unseren Codes behandelt, um die Bewegungsfunktion zu nutzen.