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