std::greater
时间: 2024-01-10 09:03:20 浏览: 45
`std::greater` 是 C++ 标准库中的一个函数对象(function object),用于比较两个元素的大小。它通常用于算法函数,比如 `std::sort` 或 `std::priority_queue` 中,来指定元素的比较方式。
`std::greater` 的定义在头文件 `<functional>` 中,它重载了函数调用运算符 `operator()`,使得它可以像函数一样被调用。当两个元素 `a` 和 `b` 传递给 `std::greater` 对象时,它会返回一个布尔值,表示 `a` 是否比 `b` 更大。
下面是一个使用 `std::greater` 的示例:
```cpp
#include <iostream>
#include <functional>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> nums = {5, 2, 8, 1, 9};
// 使用 std::sort 对 nums 进行降序排序
std::sort(nums.begin(), nums.end(), std::greater<int>());
// 输出排序后的 nums
for (const auto& num : nums) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:9 8 5 2 1,即降序排列的 nums 数组。
希望这个回答对你有帮助!如果你有任何其他问题,请随时提问。