насколько переносимо декремент конечного итератора?

Только что наткнулся на декремент итератора end () в исходных кодах моей компании, и это выглядит странно для меня. Насколько я помню, это работало на некоторых платформах, но не на других. Возможно, я ошибаюсь, но ничего полезного в стандарте не нашел. Стандарт только говорит, что end () возвращает итератор, который является последним значением, но гарантируется ли его декрементируемость? Как такой код соответствует стандарту?

std::list<int>::iterator it = --l.end();

Заранее благодарим.

51
задан ledokol 15 March 2011 в 21:21
поделиться