栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++中捕获列表和回调函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++中捕获列表和回调函数

参考网址:
https://blog.csdn.net/Dasis/article/details/121372235
https://blog.csdn.net/halazi100/article/details/122944457

我们有这样的例子:

int main()
{
	int a = 1;
	int b = 2;
	auto f = [a, b](int c, int d)->int {
		return a + b + c + d;
	};

	int e = f(3, 4);


	std::vector some_list{ 1, 2, 3, 4, 5 };
	int total = 0;

	std::for_each(some_list.begin(), some_list.end(), [&total](const int x) {
		total += x;
		});
	return 0;
}


lambda表达式中如果要使用函数体外的变量,则要使用捕获列表。

回调函数举例:

typedef int(*func)(int a, int b);

int show(func callback, int a, int b)
{
	return callback(a, b);
}

int add(int a, int b)
{
	return a + b;
}

int main()
{
	int c = show(add, 1, 2);
	
	return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997946.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号