在实施iterator
和const_iterator
或类似的类对时,避免代码重复的最佳做法是什么?
这似乎是一个常见的问题,有一个规范的解决方案,但我没有找到任何专门的文章。
答案 0 :(得分:2)
我没有任何实现迭代器的经验,尽管我认为这与其他项目类似。重构公共代码等。
的std::vector::iterator
实施情况
#include <bits/stl_iterator_base_funcs.h>
// ...
template ... class vector : ... {
typedef __gnu_cxx::__normal_iterator<pointer, vector> iterator;
typedef __gnu_cxx::__normal_iterator<const_pointer, vector> const_iterator;
};