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