C++迭代器库 - make_move_iterator



描述

它从迭代器构造一个move_iterator对象。

声明

以下是std::make_move_iterator的声明。

C++11

template <class Iterator>
  move_iterator<Iterator> make_move_iterator (const Iterator& it);

参数

it − 这是一个迭代器。

返回值

它返回一个等效于it的move_iterator,但在解引用时会进行移动。

异常

如果对it应用一元运算符&时以某种方式抛出异常,则此函数不会抛出异常。

时间复杂度

对于随机访问迭代器,时间复杂度为常数。

示例

以下示例演示了std::make_move_iterator的使用。

#include <iostream>     
#include <iterator>     
#include <vector>       
#include <string>       
#include <algorithm>    

int main () {
   std::vector<std::string> foo (3);
   std::vector<std::string> bar {"tutorialspont","com","india"};

   std::copy ( make_move_iterator(bar.begin()),
               make_move_iterator(bar.end()),
               foo.begin() );

   // bar now contains unspecified values; clear it:
   bar.clear();

   std::cout << "foo:";
   for (std::string& x : foo) std::cout << ' ' << x;
   std::cout << '\n';

   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果:

foo: tutorialspont com india
iterator.htm
广告
© . All rights reserved.