lambda函数(无名函数)比较简短,且整个项目不复用(只用一次);
1、为进行排序算法,比较两个数大小时(sort函数)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool compare(int& a, int& b)
{
return a > b;
}
int main(void)
{
int data[6] = { 3, 4, 12, 2, 1, 6 };
vector<int> testdata;
testdata.insert(testdata.begin(), data, data + 6);
// 排序算法
sort(testdata.begin(), testdata.end(), compare); // 升序
return 0;
}
2、lambda函数
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void)
{
int data[6] = { 3, 4, 12, 2, 1, 6 };
vector<int> testdata;
testdata.insert(testdata.begin(), data, data + 6);
sort(testdata.begin(), testdata.end(), [](int a, int b){ return a > b; });
return 0;
}
3、加法运算
#include <iostream>
#include <functional>
using namespace std;int main(void)
{
int x = 3, y = 4;
auto add = [](int a, int b) { return a + b; };cout << "add: " << add(x, y) << endl;
return 0;
}