STL iterator before std::map::begin()

前端 未结 3 2024
暖寄归人
暖寄归人 2021-01-12 01:33

In C++11\'s std::map, is there some valid iterator x such that ++x is guaranteed to equal map::begin()? I would like to detect i

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

    By "walk the iterator off the front" I presume you are decrementing a forward iterator something like this:

    // don't do this:
    for(it = mymap.end(); --it >= mymap.begin(); ) { ... }
    

    Instead, increment a reverse iterator like this:

    // this is better:
    for(it = mymap.rbegin(); it != mymap.rend(); ++it) { ... }
    

    -Jesse

提交回复
热议问题