我有一个插入迭代器和一个指向要插入的元素的迭代器,但我不允许使用std::copy
.
这是我在 c++ 参考页面上找到的:
std::copy (bar.begin(),bar.end(),insert_it);
这也是我想做的,但我不能使用std::copy
. 还有其他方法吗?
auto first = bar.begin();
auto last = bar.end();
while (first!=last)
{
*insert_it = *first;
++insert_it;
++first;
}
您提供的代码将内容从 bar.begin() 移动到 bar.end() 到插入迭代器中。我对您使用的术语感到困惑,insert
不会std::copy
插入任何内容,只是复制内容。
要在容器中实际插入元素,您可以使用以下命令:
your_container.insert(insert_it, bar.begin(),bar.end());
您可以在此处找到std::vector
http://en.cppreference.com/w/cpp/container/vector/insert/insert/的示例
希望这会有所帮助,拉克斯万。