#include <iostream>
#include <functional>
using namespace std;
auto Pair = [](auto u, auto v) {
return [=](auto f) {
return f(u, v);
};
};
//auto First = todo;
//auto Second = todo;
auto First = [](auto p){
//p就是对应于t
return p([](auto u, auto v){
return u;
});
};
auto Second = [](auto p){
return p([](auto u, auto v){
return v;
});
};
int main(){
auto t = Pair(1,"two");
auto one = First(t);
auto two = Second(t);
cout << one <<endl;
cout << two << endl;
return 0;
}
实现Second和First,实现打印出U和V
结果分别输出1和two
////////////////////////////////
简单解析:
/////////////////////
全文完
原文:http://www.cnblogs.com/ttylinux/p/6368574.html