0
我有一個遍歷std :: shared_ptr的迭代器。所以operator ++將內部存儲的共享指針指向下一個項目。std :: shared_ptr迭代器
template<class IT>
class MyIterator
{
public:
...
MyIterator& operator++()
{
_i = ... // Call factory
return *this;
}
private:
std::shared_ptr<IT> _i;
};
我該如何實現運算符*()和運算符 - >()運算符?
如何測試迭代器是否指向NULL,即內部共享指針是否指向NULL。
爲什麼你的迭代測試,如果shared_ptr的是NULL?其他迭代器不這樣做。 – robert 2012-07-06 12:04:06
你說得對。我在這裏感到困惑。相反,我應該這樣做:if(i == end())來測試它是否爲null。 – Baz 2012-07-06 12:20:59