Я пытаюсь понять, когда фактически используется iterator::value_type
.Когда используется значение «value_type» используемого итератора?
Потому что все операторы итераторов, похоже, используют только iterator::pointer
и iterator::reference
.
Вопрос: Действительно ли iterator::value_type
действительно используется для чего-то?
Дополнительный вопрос: ли итератор в наследство от
std::iterator<std::random_access_iterator_tag, int, std::ptrdiff_t, bool*, bool&>
рейза некоторые смысловые вопросы?
EDIT: Чтобы понять, почему я задаю этот вопрос, потому что я работаю на итератор для типа, для которого pointer
и reference
являются прокси-классы.
Что касается EDIT, то в этом случае полезно иметь 'value_type' как отдельный' typedef', так как 'remove_reference_t' больше не относится к типу базового значения, но имеет тип прокси. –
vsoftco