Я бы хотел использовать std :: find_if для поиска первого элемента в моей карте, который имеет определенное значение в определенном элементе своей структуры значений.Я немного смущен, хотя.Я думаю, что мне нужно использовать bind1st или bind2nd, но я не уверен, что это правильный путь.
Вот некоторый псевдокод:
struct ValueType { int x, int y, int z };
std::map<int, ValueType> myMap;
... {populate map}
std::map<int, ValueType>::iterator pos = std::find_if(myMap.begin(), myMap.end(), <?>);
Итак, допустим, что яхотел найти первый элемент карты, где член .x в ValueType был равен некоторому целочисленному значению (которое может изменять каждый вызов).
Что было бы лучшим способом написать функцию или функциюобъект для достижения этого?Я понимаю, что это должен быть унарный предикат, который заставляет меня думать, что мне понадобится bind1st или bind2nd для предоставления целочисленного значения, которое я проверяю, но я не уверен, как это сделать.Прошло слишком много времени с тех пор, как я смотрел на это!>. <</p>