私は独自のSTLのようなコンテナを作成しています - 任意の数の子を持つツリー
template<typename Type>
class Node
{
Type value;
Iterator AddChild(const Type & value);
void Remove(const Iterator & where);
...
};
イテレータは現在のノードoperator*
を返す必要があると判断しましvalue
たが、何を返す必要がありoperator->
ますか? 現在、それは戻ってきNode<Type>*
ており、そのような状況で非常に役立ち ます
Node<int>::Iterator it = tree.begin();
it->AddChild(4);
しかし、私のメンターは私に、それoperator->
は戻ってくるべきだと言いましたType*
。ノードのメソッドにアクセスするSTLのような方法は何ですか? みたいなのit.Ref().MyMethod()
が見栄えが悪い。