我正在为我的自定义双向迭代器实现递减运算符。指向 Range 的第一个元素的递减迭代器是定义的行为吗?它在递减后是否有一些特殊的值,比如 Range.end()?
最佳答案
在所有标准库容器的迭代器中,这是未定义的行为。但如果您要创建自己的迭代器类,则不必如此。
关于c++ - --begin(container) - 是定义的行为吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12607316/
我正在为我的自定义双向迭代器实现递减运算符。指向 Range 的第一个元素的递减迭代器是定义的行为吗?它在递减后是否有一些特殊的值,比如 Range.end()?
最佳答案
在所有标准库容器的迭代器中,这是未定义的行为。但如果您要创建自己的迭代器类,则不必如此。
关于c++ - --begin(container) - 是定义的行为吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12607316/