在C++0x/C++11中,std::sort
可以使用lambda函数。std::sort
是C++标准库中的一个排序算法,它可以对一个指定范围内的元素进行排序。从C++11开始,你可以使用lambda函数作为比较函数,以定制排序规则。
以下是一个使用lambda函数的std::sort
示例:
#include<algorithm>
#include<vector>
#include<iostream>
int main() {
std::vector<int> v = {3, 1, 4, 1, 5, 9};
// 使用lambda函数对vector进行排序
std::sort(v.begin(), v.end(), [](int a, int b) { return a > b; });
// 输出排序后的vector
for (int i : v) {
std::cout << i << ' ';
}
std::cout<< std::endl;
return 0;
}
在这个示例中,我们使用lambda函数 [](int a, int b) { return a > b; }
作为比较函数,对一个整数向量进行降序排序。这是一个非常简洁和方便的方式来定义排序规则。
需要注意的是,使用lambda函数作为比较函数时,可能会导致性能问题,因为lambda函数通常比传统的函数指针或者普通函数要慢。但是,在大多数情况下,这种性能下降是可以接受的。
领取专属 10元无门槛券
手把手带您无忧上云