max_element 在没有 "predicate" 的对向量上

max_element on vector of pairs without "predicate"

我想找到 pairsvector 的最大元素。 我的标准是:最大元素是一对中第二个值最高的元素。 我这样做了:

auto max_angle = std::max_element(begin(angles), end(angles),
            [](const std::pair<int, int>& left, const std::pair<int, int>& right){
            return left.second <  right.second;
        });

不写谓词可以吗?由于它是一个标准结构,有没有更简单的配对方法?

不,你不能,因为默认情况下 std::pairs 是按字典序比较的,意思是从左到右逐元素。因此,您的解决方案是您可以拥有的最简单的解决方案。