Dlaczego std :: vector :: insert unieważnia wszystkie iteratory po punkcie wstawiania
Gdyinsert
wstd::vector
standard C ++ zapewnia, że wszystkie iteratory przed punktem wstawiania pozostają ważne tak długo, jakcapacity
nie jest wyczerpany (patrz [23.2.4.3/1] lubunieważnienie iteratora std :: vector).
Jakie jest uzasadnienie braku zezwolenia na iteratory po punkcie wstawiania (jeśli pojemność nie jest wyczerpana)? Oczywiście wskazaliby na inny element, ale (z przypuszczalnej implementacjistd::vector
) nadal powinno być możliwe użycie takiego iteratora (na przykład wyłuskać go lub zwiększyć).