function是一个模板类,其作用是将一个可执行的元素,比如函数,函数对象等包裹在一个函数对象内,改函数对象可以拷贝和转移:
#include#include using namespace std; void func1(int d) { cout<<__func__<<" "< void func2(T t) { cout<<__func__<<" "< f1 = func1; //包裹普通函数 f1(1); //输出:func1 1 function f2 = func2 ; //包裹模板函数实例 f2(2); //输出:func2 2 function f3 = Func(); //包裹函数对象 f3(3); //输出:operator() 3 function f4 = Func::s_func; //包裹类静态函数 f4(4); //输出:s_func 4 return 0; }



