前言
本文介绍了bind绑定器和function函数对象,基于施磊老师的C++课程。
一、模板的完全特例化和部分特例化
还有模板的实参推演,这里省略。
二、function的实现原理
function的实现本质上就是定义了一个类首先接收函数指针类型,然后封装了一个()运算符重载函数,在这个运算符重载函数中对之前接收的函数指针进行调用。这是基于模板的实参推演,而为了推演任意的函数,使用了可变参模板:
#include <iostream>
#include <string>
using namespace std;
template<typename T>
class myfunction {
};
template<typename R, typename... args>
class myfunction<R(args...)>
{
public:
using PFUNC = R(*)(args...);
myfunction(PFUNC p) : pfunc(p) {
}
R operator() (args

最低0.47元/天 解锁文章
3664

被折叠的 条评论
为什么被折叠?



