c++ - STL中有noop迭代器吗?

标签 c++ stl

如果我想在迭代器范围内复制相同的值,我会认为有一个 noop 迭代器很容易,您可以在其中向它传递一个值,并且当它递增时,它不会移动到任何地方。这将允许使用现有的 std::copystd::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/

相关文章:

javascript - 浮点表示似乎可以正确地进行整数运算——为什么?

成对的 C++ vector

c++ - 许多嵌套回调的优点/缺点?

c++ - std::pair<int, std::string> 的顺序是否明确?

C++ STL 容器, 'under the bonnet'?

c++ - make_heap() 编译问题

c++ - 使用来自另一个包的少量 C++ 级代码

c++ - Jupyter:如何在新内核中实现图像查看功能

c++ - 如何使控制台程序没有控制台窗口

c++ - 使用 Unix 程序时间计算每次迭代的程序运行时间