如果我想在迭代器范围内复制相同的值,我会认为有一个 noop 迭代器很容易,您可以在其中向它传递一个值,并且当它递增时,它不会移动到任何地方。这将允许使用现有的 std::copy
和 std::copy_if
算法。
然而,我似乎找不到这样的野兽。我必须自己动手吗?
最佳答案
使用 std::fill
或 std::fill_n
算法。
一些容器,例如std::vector<>
和 std::list<>
, 有一个带有大小和初始值设定项的构造函数:
std::vector<int> v(10, 42); // 42 is the initializer
v.resize(20, 42); // Initialize new elements with 42.
关于c++ - STL中有noop迭代器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55476109/