3.C 11中提到的bind绑定器和function函数对象是如何结合使用的?

2026-05-22 13:180阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1975个文字,预计阅读时间需要8分钟。

3.C 11中提到的bind绑定器和function函数对象是如何结合使用的?

cpp绑定器bind1st,使用bind2nd与vector vec;for(int i=0; i <20; i++) { vec.push_back(rand() % 100);}showContainer(vec);sort(vec.begin(), vec.end(), greater());showContainer(vec);// greater(a, b) > 0,less(a, b) <0

绑定器bind1st,bind2nd

vector<int> vec; for(int i=0;i<20;i++){ vec.push_back(rand()%100); } showContainer(vec); sort(vec.begin(),vec.end(),greater<int>()); showContainer(vec); /* * greater a>b * less a<b * */ //把70按顺序插入到vector容器中 auto it= find_if(vec.begin(), vec.end(), bind1st(greater<int>(),70));//两种绑定器的用法 //auto it= find_if(vec.begin(), vec.end(), bind2nd(less<int>(),70)); if(it!=vec.end()){ vec.insert(it,70); } showContainer(vec); 绑定器的实现原理

绑定器其实是函数对象的一个应用!!绑定器+二元函数对象+值=一元函数对象。

阅读全文

本文共计1975个文字,预计阅读时间需要8分钟。

3.C 11中提到的bind绑定器和function函数对象是如何结合使用的?

cpp绑定器bind1st,使用bind2nd与vector vec;for(int i=0; i <20; i++) { vec.push_back(rand() % 100);}showContainer(vec);sort(vec.begin(), vec.end(), greater());showContainer(vec);// greater(a, b) > 0,less(a, b) <0

绑定器bind1st,bind2nd

vector<int> vec; for(int i=0;i<20;i++){ vec.push_back(rand()%100); } showContainer(vec); sort(vec.begin(),vec.end(),greater<int>()); showContainer(vec); /* * greater a>b * less a<b * */ //把70按顺序插入到vector容器中 auto it= find_if(vec.begin(), vec.end(), bind1st(greater<int>(),70));//两种绑定器的用法 //auto it= find_if(vec.begin(), vec.end(), bind2nd(less<int>(),70)); if(it!=vec.end()){ vec.insert(it,70); } showContainer(vec); 绑定器的实现原理

绑定器其实是函数对象的一个应用!!绑定器+二元函数对象+值=一元函数对象。

阅读全文