当前位置: 首页 > 面试题库 >

为什么迭代器没有任何重置方法?

邢飞白
2023-03-14
问题内容

为什么?将迭代器项指针移到第一位置的最佳方法是什么?


问题答案:

为什么?

因为如果强制迭代器具有重置方法,则 每个
迭代器都必须具有重置方法。这给每个迭代器编写者额外的工作。再加上一些迭代器确实很难重置(或者真的很昂贵),并且您不希望用户对其调用reset。文件或流上的迭代器就是很好的例子。

将迭代器项指针移到第一位置的最佳方法是什么?

创建一个新的迭代器。它很少比重置昂贵。



 类似资料:
  • 在Java8中,我们有类stream ,奇怪的是,它有一个方法 所以您希望它实现interface Iterable ,这恰恰需要这个方法,但事实并非如此。 当我想使用foreach循环对流进行迭代时,我必须执行如下操作 我是不是漏了什么?

  • 我有很多图像在绘制,我希望放入一个数组。手动将它们放入数组会花费太长的时间和代码。我想知道是否有一种方法来循环,如下所示:

  • 下面是一个最小的代码,用于重新创建让我怀疑的条件: 为什么在大小写中传递常量作为参数而在大小写中工作会出错? 错误的详细信息: 错误:将“const std::basic_string”作为“std::basic_string”的“this”参数传递

  • 我可以看到返回。但是现在已经添加到C++20标准中,为什么返回?cppreference指定: 返回值 等于last的迭代器。 这个选择背后的理性是什么? 与相比,用例的优势是什么?

  • 本文向大家介绍迭代器 Iterator 是什么?相关面试题,主要包含被问及迭代器 Iterator 是什么?时的应答技巧和注意事项,需要的朋友参考一下 terator 接口提供遍历任何 Collection 的接口。我们可以从一个 Collection 中使用迭代器方法来获取迭代器实例。迭代器取代了 Java 集合框架中的 Enumeration,迭代器允许调用者在迭代过程中移除元素。

  • 以下Rust代码编译和运行时没有任何问题。 在那之后,我尝试了这样的东西....但它没有编译 主要问题是,我不确定函数<code>to_words() 运行该程序的正确代码是什么?....而我的知识差距在哪里?