C++ std::function怎么用
Posted 软件工程小施同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ std::function怎么用相关的知识,希望对你有一定的参考价值。
类模版std::function是一种通用、多态的函数封装。
std::function的实例可以对任何可以调用的目标实体进行存储、复制、和调用操作,这些目标实体包括普通函数、Lambda表达式、函数指针、以及其它函数对象等。
如下中的
typedef std::function<int(int)> Functional;
最外层的int为返回值类型,里层int为参数类型
#include <iostream>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <string>
#include <algorithm>
#include <functional>
#include <memory>
using namespace std;
typedef std::function<int(int)> Functional;
int TestFunc(int a)
{
return a;
}
int main()
{
Functional obj = TestFunc;
int res = obj(1);
std::cout << res << std::endl;
while(1);
return 0;
}
以上是关于C++ std::function怎么用的主要内容,如果未能解决你的问题,请参考以下文章
c++ std::bind 如何返回分配给 std::function 的值?