插入迭代器

void x10t27()
{
	vector<int> longn{ 1,3,2,4, 3,4 };
	list<int> longu;
	unique_copy(longn.cbegin(), longn.cend(),inserter(longu,longu.begin()));
	for_each(longu.cbegin(), longu.cend(), [](int num) {cout << num << '\t';});
}

  当调用inserter(longu,longu.begin())时,我们得到一个迭代器,接下来使用它是,会将元素插入到longu.begin()原来所指向的元素之前的位置,即

it=inserter(longu,longu.begin())

  则

*it=val;

  相当于

it=longu.insert(it,val);
++it;

  

posted @ 2017-06-15 21:49  lineaar  阅读(124)  评论(0编辑  收藏  举报