#include <iostream>
using namespace std;
auto mpaip(int a, int b) { // 函数的返回值是一个函数
return [a, b](auto c) {return c(a, b); };
}
int first(int a, int b) { return a; }
int second(int a, int b) { return b; }
int main()
{
auto pp = mpaip(1, 2); //返回一个变量pp,是一个函数
auto pa = pp(first); // auto pa=mpair(1,2)(first);
auto pb = pp(second);
cout << pa << ":" << pb << endl; //1:2
auto pp2 = mpaip(3, 4); //返回一个变量pp,是一个函数
auto pa2 = pp2(first); // auto pa=mpair(3,4)(first);
auto pb2 = pp2(second);
cout << pa2 << ":" << pb2 << endl; //3:4
getchar();
return 0;
}
#includ