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

2022-09-01 07:39:28

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


答案 1

为什么?

因为如果强制迭代器具有重置方法,则每个迭代器都必须具有重置方法。这给每个迭代器编写器提供了额外的工作。另外,一些迭代器很难(或非常昂贵)重置,并且您不希望用户对它们进行重置。文件或流的迭代器就是很好的例子。

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

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


答案 2

读取流后,如果不再次打开源,则无法重新读取流。这就是流和迭代器的工作方式。