c++ - 如果 X 是某个有序容器 S 的迭代器 S.begin(),则 prev(X) 是什么,例如S是集合?

标签 c++ iterator set

什么是 prev(X)如果X是迭代器 S.begin()对于一些订购的容器 S ,例如Sset ?我原以为它会变成 S.end() ,但这似乎不正确。

最佳答案

这会导致未定义的行为。 来自 cppreference.com :

The behavior is undefined if the specified sequence of increments or decrements would require that a non-incrementable iterator (such as the past-the-end iterator) is incremented, or that a non-decrementable iterator (such as the front iterator or the singular iterator) is decremented.

关于c++ - 如果 X 是某个有序容器 S 的迭代器 S.begin(),则 prev(X) 是什么,例如S是集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54956041/

相关文章:

c++ - std::unordered_map<int, std::vector<Element>> 上的迭代器

java - 带有整数值的 Spring 加载集

mysql - 将MySQL数据库转换为UTF16

c++ - LPARAM在TVITEM中不断变化

c++ - 崇高文本 3 中的 ISO C++ 错误禁止可变长度数组

c++ - 在多个 vector 的组合上实现迭代器

algorithm - n 组之间的最大交集

c++ - 跨线程访问类的段错误

c++ - 简单的C++ char数组加密函数——段错误

c++ - vector 迭代器不可取消引用(尝试手动反转 vector )