类似于jdk的动态代理一样,其实只是一个函数接受一个函数指针调用一下...
#include<iostream>
#include<functional>
using namespace std;
template<typename T, typename F>
T run(int a,T v, F f)//代理类
{
std::cout << "执行后" << std::endl;
T ret=f(v);//函数传入参数
std::cout << "执行后返回值" << ret<<std::endl;
return v;
}
void main()
{
double db = 10.0;
function<double(double)> fun1 = [](double u)//函数实体
{
return u * 2;
};
run(1,db, fun1);//调用
cin.get();//等价于你输入一字符getchar;
}