我想了解何时实际使用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&>
提出了一些语义问题遗传吗?
编辑:要理解为什么我问这个问题,是因为我在一个迭代工作的类型,其pointer
和reference
是代理类。
关于EDIT,在这种情况下,它当然有用的'value_type'作为一个单独的'typedef',由于'remove_reference_t'是不再底层值的类型的,但具有代理的类型。 –
vsoftco