我正在编写一个特殊的迭代器类,它std::istream_iterator
通过使用默认构造的实例来标记迭代的结束,与许多其他类一样工作。我想给它双向迭代器类别。运行以下代码后:
MyIterType i_cur(get_some_iter()), i_end;
while(i_cur != i_end) ++i_cur;
双向迭代器的标准要求是否强制以下内容有效?
--i_cur
++i_cur
--i_end
或者++i_end
如果可能,感谢您引用标准。我在 C++03 中编译,但如果 C++11 引入了更改,我也有兴趣了解它们。