У меня есть следующий код для хранения объектов типа LVA в векторе. Я реализовал метод добавления объекта LVA к вектору. Первый вопрос: Можно ли использовать ссылку на объект LVA в этом методе?Удалить пользовательский объект из вектора
Теперь я хочу реализовать метод удаления объекта LVA. Я хочу иметь следующую подпись метода: void RemoveLVA(LVA& lva)
. Как я могу реализовать этот метод? Т.е. как я могу найти нужный объект в векторе, чтобы удалить его?
Manager.h
class Manager {
public:
Manager();
Manager(const Manager& orig);
virtual ~Manager();
vector<LVA> GetLvas() const;
void AddLva(LVA& lva);
private:
vector<LVA> lvas;
};
Manager.cpp:
#include "Manager.h"
Manager::Manager() {
}
Manager::Manager(const Manager& orig) {
}
Manager::~Manager() {
}
vector<LVA> Manager::GetLvas() const {
return lvas;
}
void Manager::AddLva(LVA& lva) {
lvas.push_back(lva);
}
В обоих ваших конкретных случаях параметр 'const LVA & lva' делает подпись вашего кода более явной. – Chad