我有一个包含以下函数的迭代器:
...
T &operator*() { return *_i; }
std::shared_ptr<T> operator->() { return _i; }
private:
std::shared_ptr<T> _i;
...
如何获得指向内部存储的 _i 的共享指针?
std::shared_ptr<Type> item = ???
我应该这样做:
MyInterfaceIterator<Type> i;
std::shared_ptr<Type> item = i.operator->();
或者我应该重写 operator*() 吗?