函数对象:函数的对象, 实现operator(), 常用于算法中。详见上一节函数对象的讲解
lambda表达式属于函数对象,但其是匿名的。
分为:
1 一元函数的lambda表达式(不使用捕获列表,使用捕获列表)
2 一元谓词的lambda表达式 (不使用捕获列表,使用捕获列表)
3 二元函数的lambda表达式(不使用捕获列表,使用捕获列表)
4 二元谓词的lambda表达式 (不使用捕获列表,使用捕获列表)
这里仅简单列举几个例子。
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
/*1 函数模板:为了打印不同类型的内容*/
template <typename T1>
void DisplayContent(const T1 input) {
int index = 0;
for (auto Iterator = input.begin(); Iterator != input.end(); ++Iterator) {
index = std::distance(input.beg