【发布时间】:2010-03-24 17:37:00
【问题描述】:
我知道这可能是一个愚蠢的问题。我什么时候需要编写自己的迭代器?只是在设计我自己的容器类时?还有其他时候我想创建自己的迭代器吗?
示例将被占用。
-乔恩
【问题讨论】:
-
从答案的内容来看,你会认为那里的每个人都在狂热地编写迭代器!就个人而言,我想我可能在我的 C++ 职业生涯中这样做过两次。
-
如答案所示,有时实现自定义迭代器是有意义的,但这种情况很少见。如果您的容器类是在 STL 容器之上构建的,那么只公开底层容器的迭代器而不是滚动您自己的迭代器可能是合适的。
-
我认为人们通常会提到某些库中提供的迭代器。例如,查看boost.org/doc/libs/1_42_0/libs/iterator/doc/…。无需自己实现这些;)