class Test
{
public:
Test()
{ }
int* end(){
return arr_ + 100;
}
int* begin(){
return arr_;
}
int arr_[100];
};
int main()
{
Test t;
for ( int& i : t ) {
i = 0;
}
return 0;
}
需要自定义对象提供:
1) begin()和end(),界定一个范围。即迭代器开始值,迭代器的结束值。
2)迭代器解引用,*ite。本例使用原生指针的解引用。
4)迭代器自增 ++ite。原生指针作为迭代器,已支持了。
5)迭代器比较 ==, !=。原生指针作为迭代器,已支持了。
本文详细介绍了如何自定义对象提供迭代器方法以实现范围操作,包括开始、结束、解引用、自增和比较等关键功能。

被折叠的 条评论
为什么被折叠?



