romanosovsky
本帖最后由

本帖最后由 romanosovsky 于 2012-4-20 23:40 编辑

转代码。c++的

http://okmij.org/ftp/cpp-digest/Lambda-CPP-more.html

template<typename T>

class CurryAdd {

T a;

public:

CurryAdd(const T a) { this->a = a; }

CurryAdd *本站禁止HTML标签噢* operator() (const T b) { return CurryAdd *本站禁止HTML标签噢* (a + b); }

operator T(void) { return a; }

};

template<typename T>

CurryAdd *本站禁止HTML标签噢* cadd(const T a) { return CurryAdd *本站禁止HTML标签噢* (a); }

main() {

cout << cadd(1) << endl;

cout << cadd(1)(2) << endl;

cout << cadd(1)(2)(3) << endl;

cout << cadd(3.4)(4.5) << endl;

cout << cadd(1)(3.5) << endl; // careful !

}

<和>被转成lt gt了@62#