Похоже, std::move_iterator работает только со строковыми типами данных. ⇐ C++
-
Гость
Похоже, std::move_iterator работает только со строковыми типами данных.
Можно переместить данные из исходного контейнера в целевой контейнер с помощью std::move_iterator, если контейнер имеет строковые типы данных. std::move_iterator не работает с другими типами данных в контейнере.
std::move_iterator работает нормально
#include // std::cout #include // std::move_iterator #include // std::vector #include // std::string #include // std::copy использование пространства имен std; интервал основной () { векторsrc = {"один", "два", "три", "четыре"}, des(4); используя Iter = вектор::итератор; //перемещаем данные из src в des move_iteratorbeginitr(src.begin()); move_iteratorenditr(src.end()); Iter diter = des.begin(); while(beginitr != enditr) { *diter++ = *beginitr++; } cout
Можно переместить данные из исходного контейнера в целевой контейнер с помощью std::move_iterator, если контейнер имеет строковые типы данных. std::move_iterator не работает с другими типами данных в контейнере.
std::move_iterator работает нормально
#include // std::cout #include // std::move_iterator #include // std::vector #include // std::string #include // std::copy использование пространства имен std; интервал основной () { векторsrc = {"один", "два", "три", "четыре"}, des(4); используя Iter = вектор::итератор; //перемещаем данные из src в des move_iteratorbeginitr(src.begin()); move_iteratorenditr(src.end()); Iter diter = des.begin(); while(beginitr != enditr) { *diter++ = *beginitr++; } cout
Мобильная версия