1. 程式人生 > >56.lambda表達式與綁定以及偽函數和綁定

56.lambda表達式與綁定以及偽函數和綁定

ostream style operator auto function esp namespace bsp lambda表達式

 1 #include <iostream>
 2 #include <functional>
 3 using namespace std;
 4 using namespace std::placeholders;
 5 
 6 int add(int a, int b)
 7 {
 8     return a + b;
 9 }
10 
11 class myclass
12 {
13 public:
14     int operator()(int a, int b)
15     {
16         cout << "a = " << a << "
b = " << b << endl; 17 return a + b; 18 } 19 }; 20 21 void main() 22 { 23 //函數包裝器 24 auto fun = bind(add, 10, 1); 25 cout << fun() << endl; 26 //lambda表達式與函數包裝器 27 auto fun1 = bind([](int a, int b)->int {return a + b; }, 100, _1); 28 cout << fun1(122
) << endl; 29 30 myclass my1; 31 cout << my1(1, 1) << endl; 32 //偽函數和綁定 33 //綁定從左到右,可以指定可以不指定 34 auto fun3 = bind(my1, 100, _1); 35 fun3(4); 36 cin.get(); 37 }

56.lambda表達式與綁定以及偽函數和綁定