我有一些代码,列举了一些数据,这样的事情:从整数索引的for循环枚举范围换
int count;
InitDataEnumeration(/* some init params */, &count);
for (int i = 0; i < count; i++)
{
EnumGetData(i, &data);
// process data ...
}
我想此代码转换以适合℃的形式++ 11的范围为。
我正在考虑定义一个DataEnumerator
包装类,它的构造函数会调用上面的InitDataEnumeration()
函数。
的想法是使用包装类是这样的:
DataEnumerator enumerator{/* init params*/};
for (const auto& data : enumerator)
{
// process data ...
}
怎么能-indexed for循环前者int
后者基于范围的形式进行重构?
我在想从枚举器封装类中暴露begin()
和end()
方法,但我不知道它们应该返回哪种类型的迭代器,以及如何定义这样的迭代器。
请注意,迭代过程是仅向前的。
我不明白在“重复”链接问题中给出了我的问题的答案。 –