Lass uns reden über etwas sehr nützliches und sehr wichtiges für C plus plus-Entwickler. Sprechen wir über die Bewegungssemantik. Was genau ist Bewegungssemantik? Move-Semantik ist die Fähigkeit, den Inhalt zu verschieben von einem Objekt zu einem anderen Objekt desselben Typs oder derselben Klasse ohne dass es von einem Objekt in ein anderes kopiert werden muss. Betrachten wir ein Beispiel. Hier konstruieren wir ein Objekt namens Teststring, einen String namens Teststring und weisen ihn zu zu einer Zeichenfolge namens Testzeichenfolge zwei, was eine Kopie des Strings macht in einen String-Teststring, in einen Teststring zwei, das ist genau das, was wir in der Ausgabe sehen wenn wir uns entscheiden, es zu bauen. Also bauen wir es. Erstellen Sie es und führen Sie es aus. Und wir sehen Teststring kopieren und dann einen anderen Teststring. Aber wenn wir uns für die Bewegungssemantik entscheiden um Teststrang zwei zu konstruieren, die ursprüngliche Zeichenfolge wird zerstört. In Wirklichkeit ist es das nicht, es ist tatsächlich konstruiert so, dass Teststring 2 den Besitz übernimmt des Inhalts der Testzeichenfolge. Da die Daten übertragen werden, die Teststringvariable ist jetzt leer, oder genauer gesagt ungültig. Obwohl in diesem Fall im Fall von Zeichenfolge, es ist immer noch zugänglich. Also werde ich nur ein paar Änderungen vornehmen und es demonstrieren. Also um Teststring zwei zu machen einen sogenannten Move-Konstruktor verwenden wo wir den Inhalt des ursprünglichen Strings verschieben in die neue Zeichenfolge müssen wir die Funktion verwenden genannt STD-Bewegung, aber wir werden später in dieser Lektion darüber sprechen. Lass es uns bauen. Lass es uns laufen lassen. Und wie ihr seht, haben wir einen Platz was von hier kommt, aber der Inhalt der Testzeichenfolge ist jetzt nicht verfügbar. Der Inhalt des Teststrings, der Teststring war, wurden in den zweiten Teststrang verschoben. Mehr zur Funktionsweise der Bewegungssemantik, gehen wir zum nächsten Abschnitt.