У меня проблема с C ++.
У меня есть три класса: Graph, Nodes и Edges, чтобы смоделировать простой Graph.
Теперь объект класса Graph имеет вектор с объектами класса Node и вектор с объектами класса Edge.
Объект класса Node должен знать все входящие и исходящие ребра. И объект пограничного класса должен знать, от какого узла он идет и к какому узлу он идет.
Теперь у меня есть следующая проблема: Все ребра в графе хранятся в векторе в классе ребер. Объекты класса узла также должны знать некоторые ребра, поэтому я дал им вектор указателя, указывающий на принадлежащие ребра в векторе графа. Но теперь моя проблема: если я удаляю ребро из вектора графика, указатели будут неправильными.
Я не хочу копировать каждый край в два вектора, поэтому я думаю, что мне нужно сделать это таким образом, но я действительно вижу проблему удаления чего-либо из вектора.
Есть ли решение или мне нужно копировать каждое ребро?
Может ли кто-нибудь помочь мне, пожалуйста?