c ++当过去结束迭代器时,迭代器+整数的结果是什么?

eug*_*ene 5 c++ iterator vector

假设你有一个随机访问迭代器(例如std::vector myVector)

什么时候iter + someInt是过去的迭代器, iter + someInt == myVector.end()??

或者它可能是不同的价值myVector.end()

MSa*_*ers 5

这是未定义的行为.什么都可能发生.仅举几个选项:什么都没有,程序退出,异常,崩溃.

  • 米歇尔,你不够富有想象力!以下是一些选项:http://stackoverflow.com/questions/1553382/pod-freeing-memory-is-delete-equal-to-delete/1553407#1553407.`:)` (2认同)