Поиск элемента класса в векторе по данным члена

Допустим, у меня есть такой класс:

class Client{
private:
    string name; // имя водителя
    string marka; // марка машины
    string nomer; // номер машины
}

и вектор:

vector <Client> client;

Как мне найти индекс, марку машины и её номер по имени водителя?


Ответы (1 шт):

Автор решения: KoVadim

где то так

std::string name = "wesbi";
auto it = std::find_if(client.begin(), client.end(), [name](const Client& c) {return c.name == name;}
if (it == client.end()) {
  // нет данных
} else {
  std::cout << "номер " << it->nomer << "\n"
}

пользуемся стандартным алгоримом и лямбдой.

→ Ссылка