在工作的过程中,lamda表达式的
重点:
1.function对象存储函数指针。
2.lamada表达式&和=捕捉的方式
lamda传入引用&,导致作用域消失,最终报错
std::function<void()> pFun;
void GetNum1(const std::function<void()>& fun)
{
	pFun = fun;
}
void fun()
{
	if (pFun)
	{
		pFun();
	}
}
void GetNum(const std::function<void(int)> fun1)
{
	//传入&
	auto Data = [&]() {fun1(10); };
	GetNum1(Data);
}
void Get(int num)
{
	std::cout << num << std::endl;
}
int main() {
	GetNum(Get);
	fun();
	return 0;
}
 
lamda传入赋值=,正确反馈
std::function<void()> pFun;
void GetNum1(const std::function<void()>& fun)
{
	pFun = fun;
}
void fun()
{
	if (pFun)
	{
		pFun();
	}
}
void GetNum(const std::function<void(int)> fun1)
{
	//传入&
	auto Data = [=]() {fun1(10); };
	GetNum1(Data);
}
void Get(int num)
{
	std::cout << num << std::endl;
}
int main() {
	GetNum(Get);
	fun();
	return 0;
} 




















