Vamos começar a conversar sobre algo muito útil e muito importante para desenvolvedores C plus plus. Vamos falar sobre a semântica do movimento. O que exatamente é semântica de movimento? Mover semântica é a capacidade de mover o conteúdo de um objeto para outro objeto do mesmo tipo ou classe sem que seja copiado de um objeto para outro. Vamos considerar um exemplo. Aqui, construímos um objeto chamado string de teste, uma string chamada string de teste e atribuí-la a uma string chamada string de teste dois, que faz uma cópia da string em, uma string de teste de string, em uma string de teste dois, que é exatamente o que vemos na saída se decidirmos construí-lo. Então, vamos construir. Construa e execute. E vemos a string de teste de cópia e, em seguida, outra string de teste. Mas se decidirmos usar a semântica de movimento para construir a string de teste dois, a string original é destruída. Na verdade, não é, é realmente construído de tal forma que a string de teste dois assume a propriedade do conteúdo da string de teste. Uma vez que os dados são transferidos, a variável da string de teste agora está vazia, ou mais precisamente é inválido. Embora, neste caso, no caso da corda, ainda está acessível. Então, vou apenas fazer algumas mudanças e demonstrar isso. Então, para fazer a string de teste dois usando o que é conhecido como um construtor de movimento onde estamos movendo o conteúdo da string original para a nova string, precisamos usar a função chamado movimento STD, mas falaremos sobre isso mais tarde nesta lição. Vamos construir. Vamos ver. E como você pode ver, temos um espaço que está vindo daqui, mas o conteúdo da string de teste agora está indisponível. O conteúdo da string de teste, que era a string de teste, foram movidos para a string de teste dois. Mais sobre como a semântica de movimento funciona, vamos para a próxima seção.