在Python中,很容易对提供迭代器的任何内容进行迭代:
def iterate(iterable):
for i in iterable:
do_something(i)
可以在C++?中编写类似的函数吗?
其他答案似乎如下:
template<class iterator_type>
void iterate(iterator_type it, iterator_type end)
{
while (it != end) {
do_something(*(it++));
}
}
但是有一种方法可以直接用迭代器获取迭代器的开始和结束吗?
因此,问题归结为:是否有一种从提供迭代器的对象获得迭代器的标准化方法?(类似于Python中的iter(...)
)。
发布于 2017-08-25 11:42:32
可以使用范围为对具有迭代器的集合进行迭代。
是否有一种从提供迭代器的对象获得迭代器的标准化方法?
是的,它的std::begin(...)
和std::end(...)
函数。
https://stackoverflow.com/questions/45880521
复制相似问题