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

C++之std::bind()用法

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

C++之std::bind()用法

#include 
#include 
using namespace std;
//方式一:类使用bind
struct Foo{
	void print_sum(int n1, int n2, int n3){
		cout << "sum = " << n1 + n2 + n3 << endl;
	}
};

//方式二:函数使用bind
void print(int &n1, int &n2, int &n3){
	n1++;
	n2++;
	n3++;
}

int main(){

	//方式一:类实现
	Foo foo;
	auto callback = std::bind(&Foo::print_sum, &foo, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3);
	callback(5, 10, 15);//回调函数
//std::placeholders::_1...相当于占位符

	//方式二
	int a = 1, b = 2, c = 3;
	auto func2 = std::bind(print, a, b, std::ref(c)); //引用传参
	func2();
	cout <<"a = " << a << endl;
	cout <<"b = " << b << endl;
	cout <<"c = " << c << endl; 
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/429356.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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