极简的std::function

#include <iostream>
using namespace std;
template<class F>
class Myfun
{
};
template<class R,class F>
class Myfun<R(F)>
{
public:
	

	Myfun(R(*f)(F)){
		this->_fun = f;
	}
	R run(F f){
		return _fun(f);
	}
private:
	R(*_fun)(F);
};
int main(){
	Myfun<int(const char*)> m(atoi);
	int a=m.run("123");
	cout << a << endl;
	getchar();
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_33762043/article/details/79946939