Я перехожу на C ++ из Java, и у меня обычная ситуация с дизайном, когда у меня есть элемент (не примитивный), который я хотел бы удалить из std :: vector.
на Java я бы написал что-то вроде: arrayList.remove (arrayList.indexOf (myClassInstance));
в C ++, с std :: vector, какой лучший / самый эффективный / самый чистый способ сделать это?
Лучшее, что я могу придумать, - это создать ссылку на экземпляр, который я ищу, а затем перебирать вектор, пока не найду эту ссылку. по сути, чтобы сравнивать адрес памяти каждого элемента в векторе со ссылкой, пока я не получу совпадение.
Я на правильном пути? или есть лучший способ сделать это? (возможно, используя другой контейнер std, я пока использовал только std :: vector.)