C++ functional头文件

今天高人指点我用来一个C++类似C语言中的函数指针的东西。

在头文件#include 中。

实质就是把函数存在某个位置当条件不同执行不同的函数。例子是个简单的用法,在实际项目中要比这个复杂的多。

代码:

#include 
#include 
#include 
using namespace std;
void app(int a)
{
	std::cout << "a = " << a << std::endl;
}
void app01(int b)
{
	std::cout << "b = " << b << std::endl;
}
int main()
{
	std::function func;
	int a;
	std::cin >> a;
	if (a < 10)
	{
		func = [a](int &a) {return app01(a); };
	}
	else {
		func = [a](int &a) {return app(a); };
	}
	
	func(a);
	std::cout << "********************************" << std::endl;
	std::vector > funcs;
	funcs.push_back([a](int &a) {return app(a); });
	funcs.push_back([a](int &a) {return app01(a); });
	int aa = 12;
	int bb = 13;
	funcs[0]((aa));
	funcs[1]((bb));
    return 0;
}

 

你可能感兴趣的:(C++知识)