Только что столкнулся с уменьшением итератора end()
в моих исходных кодах компании, и это выглядит странно для меня. Насколько я помню, это работало на некоторых платформах, но не для других. Возможно, я ошибаюсь, однако я не мог найти ничего полезного в этом стандарте. Стандарт только говорит, что end()
возвращает итератор, который является значением конца прошлого, но гарантировано ли оно уменьшаться? Как такой код соответствует стандарту?
std::list<int>::iterator it = --l.end();
Спасибо заранее.