(C++)为什么需要反向迭代器?

浏览:40日期:2023-04-29

问题描述

RT。为什么不可以用正向迭代器进行反向遍历?求各位指点。

问题解答

回答1:

我觉得衍生正向和反向两种迭代器的

好处是

从数据结构链的任意起点遍历到任意终点都能够以简洁的方式写出代码,而不用去绕脑子,容易出错。

缺点是

为了节省程序员的脑力,数据结构可能变的更臃肿一些,空间成本变大,反向迭代器的执行效率也未必高。

回答2:

说说我的看法:

auto itr = container.end();

此时*itr你就越界了,end()代表你容器最后一个元素的下一个位置。

相关文章: