#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