什么是prev(X),如果X是某些有序容器S.begin()的迭代器S,例如S是set?我期待它成为S.end(),但这似乎不正确。
prev(X)
X
S.begin()
S
set
S.end()
这会导致未定义的行为。来自cppreference.com:
如果指定的递增或递减序列要求不递增的迭代器(例如过去的迭代器)递增,或者不可递减的迭代器(例如前迭代器或单数),则行为未定义迭代器)递减。