Я расширяю уже существующий код C ++.
Один из членов класса относится к типу vector объектов другого класса:
class Road
{
....
vector<Link*> links; //Link is just another class
}
Другие модули используют этот класс и его член через множество итераторов последовательности.
Теперь, расширяя код, мне нужно добавить в класс Link элемент с именем linkID и использовать этот linkID для поиска / доступа к моим объектам «Link».
Проблема:
Я не собираюсь искать объект Link (используя LinkID) в векторе, просматривая миллионы элементов, просто чтобы найти конкретный объект Link. Лучшее решение - «карта»! право
....
map<linkID,*link> links
....
lnk=links[linkID]
.........
Но проблема в том, что я не могу изменить текущий исходный код, кроме очень незначительных изменений, таких как добавление linkID и т. Д.
Итак, мой очевидный вопрос:
Можно ли использовать карту вместо вектора (как угодно).
Другими словами, я хочу создать карту, заполнить ее, а затем обработать ее как вектор. возможный?
Спасибо за ваши комментарии