1
我们有一些广泛使用的类,包装内部的std ::列表我如何在内部列表中支持基于范围的语句? (C++)
template <class COLL_TYPE>
class OurColl
{
...
private:
std::list<COLL_TYPE> *m_pList;
我希望能够使用基于for循环的范围:
OurColl<int> listInts;
for (int x : listInts)
{
}
这必须迭代基础m_pList。
我觉得这个问题是不同的,因为它最接近克里斯雷德福在标记为重复的问题底部提供的答案。
此外,还有一点扭曲,因为我在一个包装一个内部列表模板的类。
请原谅我的好奇,为什么你有一个*指针*到一个列表?如果你没有指针,你可以靠[零规则](http://en.cppreference.com/w/cpp/language/rule_of_three#Rule_of_zero)来生活,这会让你的生活(和班级)简单。 –
重要的部分是你需要一个'begin'和'end'函数来返回一个正向迭代的对象。这是重复状态下的答案(或许是冗长的方式)。在这种情况下最简单的方法是使用包装列表迭代器。 –
我的示例代码看起来是否正确?这是在我们的项目中广泛使用的非常旧的代码,我希望使它更容易使用。 – Derek