【发布时间】:2016-11-17 20:04:47
【问题描述】:
我有一个 std::vector 的对象,为此我重载了 < 运算符。
如何使用std::sort 对其进行降序排序(无需编写自己的比较器)?
【问题讨论】:
-
std::sort(begin(v), end(v), std::greater<>); -
std::sort(v.rbegin(), v.rend()); -
从 C++14 开始,比较函数有一个特殊化,可以通过将
void作为模板参数传递来实现。同时,标准将void设为默认模板参数,如果没有指定。语法std::greater<>使用默认参数实例化对象 -
@GuyGreer 但该对象仍需要实例化,即
std::greater<>()