插入迭代器
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;