我有一个插入迭代器和我要插入的元素的迭代器,但我不允许使用std::copy
。
这是我在c ++参考页面上找到的:
std::copy (bar.begin(),bar.end(),insert_it);
这也是我想做的,但我不能使用std::copy
。还有另一种方式吗?
答案 0 :(得分:2)
auto first = bar.begin();
auto last = bar.end();
while (first!=last)
{
*insert_it = *first;
++insert_it;
++first;
}
答案 1 :(得分:0)
您提供的代码将内容从bar.begin()移动到bar.end()到insert迭代器。我对您使用的术语insert
感到困惑,而std::copy
不会插入任何内容,只是复制内容。
要在容器中实际插入元素,您可以使用:
your_container.insert(insert_it, bar.begin(),bar.end());
您可以在此处找到std::vector
http://en.cppreference.com/w/cpp/container/vector/insert/insert/
希望这有帮助, Raxvan。