Хорошо, так вот сделка: у меня есть вектор размера 0, который будет заполнен указателями (с вектором :: push_back), и в какой-то момент в моей программе мне нужно освободить элементы вектора и очистить вектор сам.Что произойдет, если я вызову метод на итераторе, указывающий на пустой элемент вектора?
Проблема в том, что позже мне нужно будет заполнить вектор новыми указателями, и я беспокоюсь о том, что произойдет, если количество указателей меньше фактического размера вектора (после того, как я его очистил) и я вызываю метод на итераторе, указывающий на один из этих пустых элементов в конце массива.
Будет ли неопределенное поведение, если нет, что произойдет?
Существующие итераторы будут признаны недействительными 'clear()'. Но если вы создадите новый итератор после вызова 'clear()', а затем нажав новые элементы в вектор, новый итератор будет работать нормально. * Емкость * вектора может оставаться зарезервированной, но это не влияет на * размер * –