我偶然发现了一些愚蠢的问题,但我还没有找到任何关于它的问题。 我正在实现自定义转换输入迭代器,并希望做类似的事情:
template<class T>
class my_it :
public std::iterator<std::input_iterator_tag, T, ??? should I put anything here ??? > {
...
my_proxy_with_implemented_arrow<T> operator->();
T operator*();
...
};
正如类型名称所示 - proxy已实现operator->
以获取指针行为。
所以我的问题是,我应该在继承pointer
到std::iterator
和my_proxy_with_implemented_arrow<T>
到reference
中定义T
模板参数,还是应该保留默认值并且不要#39; t关心回报值?
换句话说 - 继承的std::iterator
中给出的类型应该与迭代器运算符返回的类型相同吗?