0

我有一个插入迭代器和一个指向要插入的元素的迭代器,但我不允许使用std::copy.

这是我在 c++ 参考页面上找到的:

std::copy (bar.begin(),bar.end(),insert_it);

这也是我想做的,但我不能使用std::copy. 还有其他方法吗?

4

2 回答 2

2
auto first = bar.begin();
auto last = bar.end();
while (first!=last)
{
  *insert_it = *first;
  ++insert_it;
  ++first;
}
于 2013-10-09T08:06:21.183 回答
0

您提供的代码将内容从 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/的示例

希望这会有所帮助,拉克斯万。

于 2013-10-09T08:13:50.913 回答