【C++11】function包装器和bind的使用

function包装器

function包装器 也叫作适配器。C++中的function本质是一个类模板,也是一个包装器。那么我们来看看,我们为什么需要function呢?

函数指针,仿函数,lambda,如此丰富的类型,可能会导致模板的效率低下,可以统一用function来包装统一类型

包装器 -- 可调用对象类型进行再封装适配--统一类型

  • 函数指针
  • 仿函数
  • lambda
std::function在头文件
// 类模板原型如下
template  function;     // undefined
template 
class function;
模板参数说明:
Ret: 被调用函数的返回类型
Args…:被调用函数的形参
// 使用方法如下:
#include 
#include 

using namespace std;

int f(int a, int b)
{
	return a + b;
}
struct Functor
{
public:
	int operator()(int a, int b)
	{
		return a + b;
	}
};
class Pl

你可能感兴趣的:(C++,c++)