How can I detect the last iteration in a loop over std::map?

前端 未结 15 1322
深忆病人
深忆病人 2021-01-01 10:24

I\'m trying to figure out the best way to determine whether I\'m in the last iteration of a loop over a map in order to do something like the following:

for          


        
15条回答
  •  鱼传尺愫
    2021-01-01 10:59

    Since C++11, you can also use std::next()

       for (auto iter = someMap.begin(); iter != someMap.end(); ++iter) { 
            // do something for all iterations
            if (std::next(iter) != someMap.end()) {
                // do something for all but the last iteration
            }
        }
    

    Although the question was asked a while ago, I thought it would be worth sharing.

提交回复
热议问题