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