c++ - 跳过迭代器

标签 c++ boost stl boost-iterators

我有一个值序列,我想将它们传递给一个采用 (iterator begin, iterator end) 对的函数。但是,我只希望处理原始序列中的每个第二个元素。

有没有一种使用 Standard-Lib/Boost 的好方法来创建一个允许我传递原始序列的迭代器外观?我认为像这样简单的东西已经在 boost 迭代器或范围库中,但我没有找到任何东西。

还是我错过了另一种完全明显的方法?当然,我知道我总是可以选择将值复制到另一个序列,但这不是我想要做的。

编辑:我知道 filter_iterator,但它会过滤值 - 它不会改变迭代前进的方式。

最佳答案

我想你想要 boost::adaptors::strided

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

相关文章:

c++ - linux下用boost::thread创建boost::asio工作线程

c++ - 我可以依靠短路评估来检查 C++ 中的 vector 边界吗?

c++ - 在这种情况下要考虑的有效 C++ 数据结构

c++ - Boost::Array 中的垃圾值与 Boost::Asio 一起使用

c++ - 风寒因素

c++ - 是否允许为自定义数字类型专门化数学常量?

c++ - 如何使用cpp消除二维数组中的边框元素

c++ - 如何制作对象的范围迭代器以与 boost KMP 一起使用?

c++ - 我们可以使用 back() 值索引对 vector 执行插入吗?

c++ - 运算符重载插入