Есть ли способ реализовать оператор->, а не только оператор *.Чтобы следующий код работал:
Iterator<value> it = ...
i = (*it).get();
i = it->get(); // also works
Допустим, у типа значения есть метод get.Когда Iterator реализован, как показано ниже:
template<T> class Iterator {
T operator*() { return ... }
T operator->() { return ... }
}
Здесь ... - реализация получения правильного объекта T.
Каким-то образом это не будет работать, когда я реализую его таким образом.Я думаю, что я что-то неправильно понимаю.