c++ - STL 插入迭代器

标签 c++ stl iterator

也许我遗漏了一些非常明显的东西,但我不明白为什么要使用 back_inserter/front_inserter/inserter, 而不仅仅是从容器接口(interface)提供适当的迭代器。 这就是我的问题。

最佳答案

因为容器的“普通”迭代器不能(或至少不能)调用 push_back、push_front 和 insert。

例子:

int main() {
  using namespace std;
  vector<int> a (3, 42), b;

  copy(a.begin(), a.end(), back_inserter(b));

  copy(b.rbegin(), b.rend(), ostream_iterator<int>(cout, ", "));
  return 0;
}

关于c++ - STL 插入迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2223835/

相关文章:

c++ - 我可以在 C++ 中返回一个跨度吗?如果是这样,如何? (对替代品持开放态度。)

c++ - 从类模板继承所需的 iostream

C++ 虚拟继承 - 虚函数 ""的覆盖不明确

c++ - 遍历映射 vector ,并在满足条件时插入拷贝

c++ - Sublime Text 2 和 MinGW

c++ - 从 vector 中获取通用双向迭代器

c++ - C++ 中的绑定(bind)函数结果

java - 带有 'extends' 的泛型迭代器

c++ - 将映射中的对象(指针)输出到二进制文件

iterator - 我如何迭代 Rust 中返回 Futures 的函数的 Vec?