Empecemos a hablar sobre algo muy útil y muy importante para desarrolladores C plus plus. Hablemos de semántica de movimientos. ¿Qué es exactamente la semántica de movimientos? La semántica de movimiento es la capacidad de mover el contenido. de un objeto a otro objeto del mismo tipo o clase sin tener que copiarlo de un objeto a otro. Consideremos un ejemplo. Aquí construimos un objeto llamado cadena de prueba, una cadena llamada cadena de prueba y asígnela a una cadena llamada cadena de prueba dos, que hace una copia de la cadena en, una cadena de prueba de cadena, en la cadena de prueba dos, que es exactamente lo que vemos en la salida si decidimos construirlo. Así que construyémoslo. Constrúyalo y ejecútelo. Y vemos copiar la cadena de prueba y luego otra cadena de prueba. Pero si decidimos usar la semántica de movimiento para construir la cadena de prueba dos, la cadena original se destruye. En realidad, no lo es, en realidad está construido de tal manera que la cadena de prueba dos se apropie del contenido de la cadena de prueba. Dado que los datos se transfieren, la variable de la cadena de prueba ahora está vacía, o más precisamente no es válido. Aunque en este caso, en el caso de la cadena, todavía es accesible. Así que solo haré algunos cambios y lo demostraré. Entonces, para hacer la cadena de prueba dos usando lo que se conoce como un constructor de movimientos donde estamos moviendo el contenido de la cadena original a la nueva cadena, necesitamos usar la función llamado movimiento STD, pero hablaremos de ello más adelante en esta lección. Vamos a construirlo. Ejecútelo. Y como ves, tenemos un espacio que viene de aqui, pero el contenido de la cadena de prueba ahora no está disponible. El contenido de la cadena de prueba, que era una cadena de prueba, se han movido para probar la cadena dos. Más sobre cómo funciona la semántica de movimientos, pasemos a la siguiente sección.