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;
}

https://blog.csdn.net/qq_23350817/article/details/90035124

以上是关于C++ std::function怎么用的主要内容,如果未能解决你的问题,请参考以下文章

C++ std::function技术浅谈

C++ 中std::function各种使用方法和例程

c++ std::bind 如何返回分配给 std::function 的值?

C++ std::function 参数 const 参考

C++11 std::function用法(c++常问问题十七)

存储在向量中的 C++ std::function 不起作用