Как указано в answer to another question, все указатели на элементы вектора могут стать недействительными после добавления новых элементов к этому вектору из-за перераспределения лежащего в основе смежного буфера.Обработка ссылок, связанных с добавлением элементов в std :: vector
Есть ли безопасный способ справиться с этой проблемой во время компиляции?
Существуют ли лучшие методы борьбы с ситуацией или исключения из нее, когда ссылки могут стать недействительными после изменения структуры данных?
в C# Я получаю исключение, когда добавляю элементы во время итерата или активен. Могу ли я воссоздать это поведение в C++? – wotanii
Могу я сказать компилятору, чтобы он выдавал ошибку всякий раз, когда я хранил ссылку на элемент в векторе? Если это так, я могу обойти проблему, всегда получая элемент по его индексу. – wotanii