Вы можете быть озадачены тем, как vector
управляет своими объектами.Когда вы push_back
в вектор, вы делаете копию.Когда вы push_back
указатель, он копирует указатель.Когда вы вызываете clear()
или erase()
, он удаляет указатель, но не объект , на который указывает указатель.
Я предполагаю, что вы new
'отредактировали все свои объекты Link
и добавили их в контейнер vector
.Вам нужно будет удалить их самостоятельно, контейнер не будет уничтожать указанный вами объект (даже если сам контейнер уничтожается, когда выходит из области видимости).Если вы clear()
оба своих контейнера перед вызовом delete
для всех своих Link
объектов, вы вызовете утечку памяти (при условии, что вы не сохраняете указатели на Link
объекты в другом месте).