私は独自の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()が見栄えが悪い。