在C++中编写自定义迭代器的首选方法17

wim*_*aan 8 c++ iterator c++17

从C++ 17开始继承自std::iterator<...>不推荐使用.相反,应该专门std::iterator_traits<...>为自己的迭代器类型.

我曾经把我的迭代器类写成它们所属的容器类中的嵌套类型.

尝试将std::iterator_traits<C<T>>导致部分专门化为T我的容器的值类型的不可导入的上下文C.

问题:我现在(从C++ 17开始)是否应该容器类之外定义迭代器类?