Lambda表达式在C++中有许多常用的使用场景,下面举例说明几个常见的场景:
- STL算法中的自定义比较器:在使用STL算法时,有时需要自定义比较器来指定元素的排序规则。Lambda表达式可以方便地定义简单的比较器,例如在std::sort中对整数数组进行降序排序:
std::vector<int> nums = {
5, 2, 8, 3, 1};
std::sort(nums.begin(), nums.end(), [](int a, int b) {
return a > b; });
- 函数对象的替代:在一些简单的场景中,不需要定义一个完整的函数对象类,Lambda表达式可以代替函数对象。例如在使用std::for