以一种简便的形式来遍历一段数据,那么格式就是:for(auto i : vec) 那么在接收的i类型上,要求必须是auto类型,这是语法要求。
那么来看一下如何让自定义的类型支持for的范围循环:
这段代码我写的很随意,为了做记录没有做过多的检查,那么,在支持for的范围前,自定义的类型需要编写两个函数begin 和 end,那么begin要求在当其++begin时可以访问下一个数据,for的范围循环需要使用这两个函数来实现范围迭代。
看一下具体的用法:
这里将会打印出容器内的所有有效的数据。