iterator 相关问题

迭代器是一种面向对象的编程模式,允许遍历集合,不知道实际实现或物理内存中的对象地址。它是四人帮的行为设计模式之一。

当我在 IntoIter 上调用 .by_ref().take().rev() 时会发生什么

假设我有一个 IntoIter,我想从右到左收集 n 个元素的块(相当于切片上的 rchunk)。我可以在迭代器上使用 .rev() ,然后调用 .by_ref().take(n).rev() e...

回答 1 投票 0

如何制作一个变异迭代器来锁定内部数据直到删除?

我的目标是使用 Many_iter_mut() 方法创建一个 NewType(Arc>>),该方法返回一个迭代器,该迭代器在内部 Vec 上持有写锁 (RwLockWriteGuard)。 那个...

回答 1 投票 0

c++20 范围的意义是什么? [已关闭]

我很难理解 c++20 范围与老式迭代器相比增加了什么。是的,我想不再需要使用 begin 和 end,而是简单的重载,例如: 命名空间 std {

回答 2 投票 0

可选择取消引用对 Copy 对象的引用的特征?

我正在实现一个按值获取元素列表的函数,但我需要对列表执行两次传递。第一遍计算输入数据的一些值(不修改...

回答 1 投票 0

c++ 从类方法返回 const 反向迭代器,但方法不能是 const?

我试图从类方法返回一个 const 反向迭代器。但是当我将方法标记为 const 时,我的代码无法编译。如果没有 const,代码编译时不会出现任何问题。 知道为什么吗? #包括...

回答 1 投票 0

c++ 从类方法返回 const 反向迭代器,但方法不能是 const?

我试图从类方法返回一个 const 反向迭代器。但是当我将方法标记为 const 时,我的代码无法编译。如果没有 const,代码编译时不会出现任何问题。知道为什么吗?谢谢...

回答 1 投票 0

如何将任意迭代器作为函数参数传递?

问题 如果我编写一个通用的遍历例程,为什么我可以传入我自己的迭代器而不是对? 例子 这是一个简单的步行,对 src 中的每个项目执行一些操作。 函数步行(src) 对于 n,i 在...

回答 1 投票 0

我可以将 Item=(key, val) 的迭代器拆分为单独的 key iter 和 val iter 而不进行收集或克隆吗?

我有一个如下所示的函数: fn set_many(&mut self, key_vals: impl IntoIterator) { let (keys, vals): (Vec<_>, Vec<_>) = key_vals.

回答 1 投票 0

将 std::transform 应用于每个第 n 个元素

有没有一种方法可以从另一个迭代器构造一个迭代器,该迭代器总是前进(在 std::advance 的意义上)一个数字 n ?我想将迭代器传递给 std::transform 但变换...

回答 1 投票 0

在C++20中,前向范围的哨兵类型是否保证与其迭代器的类型相同?

前向范围 r 要求其迭代器又是前向迭代器,这又要求迭代器作为其自己的哨兵。但是,这是否意味着实际的哨兵类型(例如......

回答 1 投票 0

C++20 是保证与其迭代器类型相同的前向范围的哨兵类型?

前向范围 r 要求其迭代器又是前向迭代器,这又要求迭代器作为其自己的中心点。但是,这是否意味着实际的哨兵类型(例如......

回答 1 投票 0

Scala 与 Kotlin 中的迭代

我正在将一些代码从 Scala 迁移到 Kotlin,我观察到不同的行为: 斯卡拉: 变量我 = 0 迭代器.连续地{ println(s"i=$i") 我 += 1 我 }.takeWhile { _ < 3} .foreach { i =...

回答 1 投票 0

如何在STL算法中将模板类型注册为有效的value_type

我正在尝试编写一个模仿STL列表的自定义容器。我提供了一个 List 类(未显示)、一些基本功能和一个自定义双向迭代器。尝试符合 STL 标准...

回答 1 投票 0

前两次求和去除Python

任何人都可以编写一个Python程序来帮助我删除所有元素,这些元素是下面列表中前两个元素的总和。 [2, 5, 7, 8, 15, 1, 9, 10, 2, 12] → [2, 5, 8, 1, 9, 2] → [2, 5, 8, 1...

回答 1 投票 0

executor.map 和命名参数传递

我有一个函数必须使用大量参数类型运行的情况 # 带有命名参数的泛型函数 def genericFn(X, y, a_fn ='t', o_fn ='a', l_fn='b', dim=2): ...

回答 1 投票 0

是否可以在不切换到下一个位置的情况下获取迭代器值:

在C++中我可以多次获取迭代器的当前值 int main() { std::string s = "abcd"; 自动迭代= s.begin(); std::cout << *iter << std::endl; // a std::co...

回答 1 投票 0

标准库中的 boost::make_transform_iterator 相当于什么?

处理 const 向量时,以下内容不起作用: const std::vector v; v.push_back(“测试”); // 错误:v 无法修改 相反,你必须初始化 vecto...

回答 1 投票 0

循环遍历 iframe 列表,检查 iframe 中的元素并对其执行操作

情况如下:在 https://www.globalsqa.com/samplepagetest/ 上,我尝试通过页面下拉菜单测试者中心/演示测试站点/Alertbox 访问页面“Alertbox”。在

回答 1 投票 0

C# 中是否存在与 Python 的 iter() 和 next() 函数等效的函数?

Python 的 iter(.) 和 next(.) 内置函数允许迭代列表(或实现 __iter__(self) 和 __next__(self) 的其他对象),无需 for 循环且无需索引。 C# 有没有一些...

回答 1 投票 0

我们如何从导入的模块中选择列表?

假设我做了以下操作: 从 X 导入 A、B、C、D 我想要做的是将 A、B、C、D 中的所有列表组合起来形成一个大列表: 所有列表=[] 对于 (X.A, X.B, X.C, X.D

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.