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。