История изменений
Исправление Manhunt, (текущая версия) :
Тут написано, что если нет реалокации, то всё работает. Значит рушит ссылки реалокация, а не push_back().
Вовсе на значит.
Причём тут стандарт? Стандарт описывает аллокатор, который тут и подразумевается - дефолтный аллокатор.
Стандарт описывает stl.
Рушит их аллокатор.
Там не сказано, кто их рушит. Например, на невалидность этих ссылок после переаллокации может полагаться оптимизирующий компилятор (и компилятору будет абсолютно насрать, что аллокатор *мог* не поменять адресов).
Нарушение ссылок - это свойство аллокатора.
Это твои фантазии, в стандарте такого не написано.
Исправление Manhunt, :
Тут написано, что если нет реалокации, то всё работает. Значит рушит ссылки реалокация, а не push_back().
Вовсе на значит.
Причём тут стандарт? Стандарт описывает аллокатор, который тут и подразумевается - дефолтный аллокатор.
Стандарт описывает stl.
Рушит их аллокатор.
Там не сказано, кто их рушит. Например, на невалидность этих ссылок после переаллокации может полагаться оптимизирующий компилятор (и есму будет абсолютно насрать, что аллокатор *мог* не поменять адресов).
Нарушение ссылок - это свойство аллокатора.
Это твои фантазии, в стандарте такого не написано.
Исходная версия Manhunt, :
Тут написано, что если нет реалокации, то всё работает. Значит рушит ссылки реалокация, а не push_back().
Вовсе на значит.
Причём тут стандарт? Стандарт описывает аллокатор, который тут и подразумевается - дефолтный аллокатор.
Стандарт описывает stl.
Рушит их аллокатор.
Там не сказано, кто их рушит. Формально, имеет право рушить и сам push_back.
Нарушение ссылок - это свойство аллокатора.
Это твои фантазии, в стандарте такого не написано.