首页 > 编程语言 > 详细

c++ - std::functional

时间:2021-01-19 19:53:52      阅读:37      评论:0      收藏:0      [点我收藏+]

示例:

 1 #include <vector>
 2 #include <string>
 3 #include <iostream>
 4 #include <functional>
 5 
 6 using namespace std;
 7 
 8 std::function<int (int)> Functional;
 9 
10 
11 int testFunc(int i) {
12     return i;
13 }
14 
15 auto lambda = [](int i) -> int { return i; };
16 
17 class Functor {
18 public:
19     int operator()(int i) {
20         return i;
21     }
22 };
23 
24 class test{
25 public:
26     int foo(int i) { return i; }
27     static int staticFunc(int i) { return i; }
28 };
29 
30 int  main() {
31     Functional = testFunc;
32     std::cout << "普通函数:" << Functional(1) << std::endl;
33 
34     Functional = lambda;
35     std::cout << "lambda函数:" << Functional(2) << std::endl;
36 
37     Functor functor;
38     Functional = functor;
39     std::cout << "仿函数:" << Functional(3) << std::endl;
40 
41     test ctest;
42     Functional = test::staticFunc;
43     std::cout << "类静态函数:" << Functional(4) << std::endl;
44 
45     Functional = std::bind(&test::foo, ctest, std::placeholders::_1);
46     std::cout << "类成员函数:" << Functional(5) << std::endl;
47 
48     std::cin.get();
49     return 0;
50 }

占个坑先

 

c++ - std::functional

原文:https://www.cnblogs.com/y4247464/p/14297242.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!