Bootstrap

第四十七节 C++ 匿名函数对象 - lambda 表达式

函数对象:函数的对象, 实现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
;