bind的使用

bool longer(string s, string::size_type sz)
{
	return s.size() <= sz;
}

void x10t24()
{
	vector<int> longn{ 1,2,3,4 };
	string a("aa");
	auto it = find_if(longn.begin(), longn.end(), bind(longer, a, _1));
	cout << *it << endl;
}

   主要用于当lamdba需要频繁使用时,改成函数会好用一点,用bind可以返回一个新的可调用对象,解决某些算法只能接受一元谓词的问题。上式1_是接收参数,并有固定参数a。

posted @ 2017-06-15 21:13  lineaar  阅读(136)  评论(0编辑  收藏  举报