Что касается первого вопроса, это должен быть тип данных, который возвращает итератор. Предположительно T
.
Что касается второго, то это полностью зависит от того, что фактически делает ваш итератор, что не является определенным или очевидным из предоставленной информации.
Обратите внимание, что std::iterator
не определяет никаких операций для вас, он определяет только некоторые typedef
, которые вы можете унаследовать.