0
点赞
收藏
分享

微信扫一扫

谷粒商城第十天-分组新增级联显示商品分类&分组修改级联回显商品分类

汤姆torn 2023-08-08 阅读 53

bind包装器

bind的使用

#include<iostream>
#include<functional>
using namespace std;

int Add(int a, int b)
{
	cout << a << "  " << b << endl;
	return a + b;
}

class Sub
{
public:
	int sub(int a, int b)
	{
		cout << a << "  " << b << endl;
		return a - b;
	}

	double mul(int a, int b, double rate)
	{
		return a * b * rate;
	}

	static int test(int a, int b)
	{
		return a + b;
	}
};

int main(void)
{
	function<int(int, int)>func1 = bind(Add, placeholders::_1, placeholders::_2);
	function<int(int, int)>func2 = bind(Add, placeholders::_2, placeholders::_1);
	func1(1, 2);
	func1(2, 1);
	
	function<int(int, int)>func3 = bind(&Sub::sub,Sub(), placeholders::_1, placeholders::_2);
	function<int(int, int)>func4 = bind(&Sub::sub,Sub(), placeholders::_2, placeholders::_1);
	func3(5, 6);
	func4(5, 6);
	function<int(int, int)>func5 = bind(&Sub::mul, Sub(), placeholders::_1, placeholders::_2, 1.5);
	function<double(int, int)>func6 = bind(&Sub::mul, Sub(), placeholders::_1, placeholders::_2, 1.5);
	cout << func6(3,3)<<endl;
	function<int(int, int)>func7 = bind(&Sub::test, placeholders::_1, placeholders::_2);
	cout << func7(10, 20)<<endl;
	return 0;
}
举报

相关推荐

0 条评论