std :: move в C ++
std :: move
Перемещает элементы из диапазона [first, last] в диапазон, начинающийся с result.
Значение элементов в [first, last] передается элементам, указанным в result. После вызова элементы в диапазоне [первый, последний] остаются в неопределенном, но допустимом состоянии.
Шаблон :
Перемещение OutputIterator (сначала InputIterator, последним InputIterator, результат OutputIterator); Параметры: первый Последний Введите итераторы в начальную и конечную позиции в последовательности быть перемещенным. Используемый диапазон - [первый, последний], который содержит все элементы между первым и последним, включая указанный элемент первым, но не элементом, на который указывает последний. результат Вывести итератор в начальную позицию в целевой последовательности. Это не должно указывать на какой-либо элемент в диапазоне [первый, последний]. Тип возврата: Итератор до конца целевого диапазона, в который были перемещены элементы.
Примеры:
Вход : vec1 содержит: 1 2 3 4 5 vec2 содержит: 7 7 7 7 7 Выход : arr2 содержит: 7 1 2 3 4 / * Первые 4 элемента вектора vec1 перемещены в начальную вторую позицию vec2 * /
// CPP program to illustrate // std::move and std::move_backward // STL library functions #include<bits/stdc++.h> // Driver code int main() { std :: vector < int > vec1 {1, 2, 3, 4, 5}; std :: vector < int > vec2 {7, 7, 7, 7, 7}; // Print elements std :: cout << "Vector1 contains :" ; for ( int i = 0; i < vec1.size(); i++) std :: cout << " " << vec1[i]; std :: cout << "
" ; // Print elements std :: cout << "Vector2 contains :" ; for (unsigned int i = 0; i < vec2.size(); i++) std :: cout << " " << vec2[i]; std :: cout << "
" ; // std :: move function // move first 4 element from vec1 to starting position of vec2 std :: move (vec1.begin(), vec1.begin() + 4, vec2.begin() + 1); // Print elements std :: cout << "Vector2 contains after std::move function:" ; for (unsigned int i = 0; i < vec2.size(); i++) std :: cout << " " << vec2[i]; std :: cout << "
" ; return 0; } |
Выход:
Vector1 содержит: 1 2 3 4 5 Vector2 содержит: 7 7 7 7 7 Vector2 содержит после функции std :: move: 7 1 2 3 4
Эта статья предоставлена Сачином Биштом . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.