根据cppreference.com:如何编写STL兼容的容器,但其大小未知?
任何符合STL-容器必须提供一个成员函数
size()
。
现在我必须写一个兼容STL-容器MyContainer
,MyContainer::iterator
是一种类型的std::input_iterator
,即,MyContainer
只能穿过一个通。例如,我使用MyContainer
来存储SQL查询的结果,并使用它的iterator
逐一记录这些记录。
我遇到了这样一个问题:MyContainer
可以提供begin()
和end()
来遍历它的值,但不能预先确定它的值的总大小。
在这种情况下我应该怎么做?
这不是一个容器,在这种情况下,你应该考虑迭代器而不是容器。这应该不是真正的问题,因为大多数标准函数使用迭代器而不是容器。 – Holt
您需要'流'而不是容器。你可以从基于std :: istream的解决方案开始。 – Arunmu
'stream'是面向字符的解决方案,不适合我的问题。我认为。 – xmllmx