Che*_*fif 2 c++ iteration foreach
我创建了一个集合类型的C++实现.我想添加迭代支持,以便开发人员可以在其上使用"for each"语句.我怎样才能做到这一点?
标准成语是:暴露类型iterator和const_iterator和即提供至少两个功能,begin()并且end()为:
template</*.....*/>
class Collection
{
public:
typedef /*...*/ iterator;
typedef /*...*/ const_iterator;
iterator begin();
iterator end();
const_iterator begin() const;
const_iterator end() const;
};
Run Code Online (Sandbox Code Playgroud)
一旦实现了这些,您的集合就可以在std::for_each其中定义的许多其他算法函数中使用<algorithm>.