// // Created by light on 20-1-11. // #include using namespace std; struct adder { adder(int n) : n_(n) {} int operator()(int x) const { return x + n_; } private: int n_; }; int main() { auto add_2 = adder(2); // x+2 cout << add_2(3) << endl; auto t = bind1st(plus(), 2); cout << t(1) << endl; // 上述的C++98 binder2nd> a2(plus(), 2); cout << a2(3) << endl; cout << [](int x) { return x * x; }(3) << endl; return 0; // lambda表达式默认就是constexpr函数 }