std :: next是否检查我们是否已经在容器的末尾?

时间:2017-08-17 00:13:29

标签: c++ stl containers

假设我有一个容器的迭代器std::list::iterator it = mylist.begin(),我调用

iterator it2 = std::next(it,1);

std::next会检查it == mylist.end()吗?

1 个答案:

答案 0 :(得分:1)

不,该计划在这种情况下受阻。你应该检查自己:

if (it != mylist.end())
    it2 = std::next(it,1);