Семантика перемещения - это концепция, введенная в C++11, которая позволяет компилятору оптимизировать копирование объектов, когда исходный объект не будет использоваться дальше. Это достигается с помощью специальных конструкторов и операторов присваивания, называемых перемещающими конструкторами и перемещающими операторами присваивания.
Перемещение позволяет избежать ненужного копирования ресурсов, таких как динамически выделенная память или файловые дескрипторы, и улучшает производительность программы. Вместо копирования ресурсов, перемещение передает их из одного объекта в другой.
В этом примере мы создаем два вектора строк
vec1 и vec2. Затем мы используем функцию std::move для передачи содержимого vec1 в vec2 с использованием семантики перемещения. В результате, vec1 становится пустым, а vec2 получает данные, которые раньше были в vec1.
