#include<iostream>
using namespace std;
template<typename T>
class myfunction{};
template<typename R,typename... A>
class myfunction<R(A...)>{
public :
using FUNC =R(*)(A...);
myfunction(FUNC p):_func(p){}
R operator()(A... arg){
return _func(arg...);
}
private :
FUNC _func;
};
int sum(int ,int ){
cout<<"(int ,int)"<<endl;
}
int sum(int ){
cout<<"(int)"<<endl;
}
int main(){
myfunction<int(int,int)> a(sum);
a(1,3);
myfunction<int(int)> b(sum);
b(1);
return 0;
}
C++ function底层实现
最新推荐文章于 2023-04-17 14:22:27 发布