反向排序容器的推荐方式(例如:按降序排序向量)似乎是:
std::sort(numbers.begin(), numbers.end(), std::greater<int>());
我知道第三个参数是帮助 sort() 进行比较的函数或仿函数,并且 std::greater 是模板仿函数,但我不明白这里发生了什么。我的 C++ 很生锈,所以如果这些是愚蠢的问题,请多多包涵:为什么后面有括号std::greater<int>
?我们在这里创建一个新std::greater
对象吗?在那种情况下,为什么我们不需要new
这里的关键字呢?