Рабочий пример на расте:
struct Data {
number: usize,
letter: char,
}
impl Data {
fn new(number: usize, letter: char) -> Self {
Data { number, letter }
}
}
fn main() {
let numbers = vec![
Data::new(1, 'a'),
Data::new(2, 'b'),
Data::new(3, 'c'),
];
println!("{:?}", numbers.iter().max_by_key(|v| v.number).map(|v| v.letter)); // Some('c')
}
Как это повторить в C++14?
PS: с tuple пример был бы проще, но для C++ это слишком сложно.