如何正确定义继承的迭代器模板?

时间:2017-11-23 18:41:05

标签: c++ iterator

我偶然发现了一些愚蠢的问题,但我还没有找到任何关于它的问题。 我正在实现自定义转换输入迭代器,并希望做类似的事情:

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->以获取指针行为。 所以我的问题是,我应该在继承pointerstd::iteratormy_proxy_with_implemented_arrow<T>reference中定义T模板参数,还是应该保留默认值并且不要#39; t关心回报值?

换句话说 - 继承的std::iterator中给出的类型应该与迭代器运算符返回的类型相同吗?

0 个答案:

没有答案