搜尋

首頁  >  問答  >  主體

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

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

PHP中文网PHP中文网2773 天前338

全部回覆(2)我來回復

  • 巴扎黑

    巴扎黑2017-04-17 13:55:20

    我覺得衍生正向和反向兩種迭代器的

    • 好處是

    從資料結構鏈的任意起點遍歷到任意終點都能夠以簡潔的方式寫出程式碼,而不用去繞腦子,容易出錯。

    • 缺點是

    為了節省程式設計師的腦力,資料結構可能變的更臃腫一些,空間成本變大,反向迭代器的執行效率也未必高。

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 13:55:20

    說說我的看法:

    auto itr = container.end();
    

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

    回覆
    0
  • 取消回覆