如何获取向量的每个第 N 个元素的"address"
How can I get "address" of every Nth element of a vector
如何在不使用"原始循环"的情况下获得向量每个元素的"地址"。std :: copy_if似乎是一个解决方案,但我无法获得该元素的地址,我只能得到该值。
您可以使用std::for_each
(或类似算法)使用跳过迭代器(也称为跨度迭代器)。标准库没有通用跳过迭代器。
如果您希望自己实现跳过的迭代器,那么这个想法很简单:编写一个将迭代器作为参数的模板。该模板是迭代器"适配器"。将大部分迭代器样板委员
迭代器适配器可重复使用并且现有实现可用,但简单的循环可能会更少的工作:
for(size_t i = 0; i < v.size(); i += N)
相关文章:
- 对于set上的循环-获取next元素迭代器
- 在 alglib::real_1d_array 中获取元素总和的奇怪错误
- 如何在 c++ stl 中获取列表中被推回的元素的地址,在常量时间内?
- push_back通过自行创建的对象获取最后一个元素的向量
- 从自定义类获取对象向量中的 max 元素
- 从 c++ 中的链表中获取元素
- 比较它们之间的元素并获取公共值的键
- 获取指向指针的指针元素 (c++)
- CPtrList - 如何获取元素的索引?
- 如何从一个容器中获取某些元素并将其转换插入到另一个容器中?
- 获取结构 c++ 中元素的索引
- 如何获取指针数组中的元素数量?
- 如何从该列表的元素中获取 std::list<T>::迭代器?
- 元素访问(获取和放置)在C++中使用 std::vector
- 使用std::find_if时,从传递给lambda的元素中获取迭代器
- 数组的最后一个元素自动获取垃圾
- 从字符串元素中获取字符串
- 在openCV中访问mat中的元素时获取垃圾值
- Win32 C++从元素中获取文本
- 在元素中获取和设置日期DATETIMEPICK_CLASS