Why is there no operator +/- for a bidirectional iterator?

前端 未结 3 657
误落风尘
误落风尘 2021-01-25 11:46

My own reasoning for it is that there is no random access and there is no way to know the bounds. But then why do we have std::advance? [EDIT] And come to think of

3条回答
  •  滥情空心
    2021-01-25 12:25

    The rational for std::advance is that it should be obvious that you really intended to use it, even if it is not O(1).

    You don't need a std::deadvance as you can use std::advance with a negative distance (for bidirectional iterators).

提交回复
热议问题