代码拉取完成,页面将自动刷新
同步操作将从 GodOuO/Code_C++ 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include<iostream>
#include<string>
#include<functional>
#include<vector>
#include<algorithm>
using namespace std;
class mCompare
{
public:
bool operator()(int a,int b){
return a>b;
}
};
void printIntVector(const vector<int> &v){
for (vector<int>::const_iterator it = v.begin(); it != v.end(); it++)
cout<<*it<<" ; ";
cout<<endl;
}
void printboolVector(const vector<bool> &v){
for (vector<bool>::const_iterator it = v.begin(); it != v.end(); it++)
cout<<*it<<" ; ";
cout<<endl;
}
//内建函数对象 算数仿函数
//negate 取反 一元仿函数
void test01(){
negate<int> n;
cout<<"Negate 50 : "<<n(50)<<endl; //-50
}
//plus 加法 二元仿函数
void test02(){
plus<int> p;
cout<<"50+50 = "<<p(50,50)<<endl;
}
//大于 greater 内建构造函数 ——关系仿函数
void test03(){
vector<int> v;
for (int i = 0; i < 5; i++)
v.push_back(i+1);
for (int i = 10; i >5; --i)
v.push_back(i+1);
printIntVector(v);
//降序
sort(v.begin(),v.end(),mCompare());
printIntVector(v);
sort(v.begin(),v.end(),greater<int>()); //greater<T>() 内建函数对象
printIntVector(v);
}
//logical_not 逻辑非 ——逻辑仿函数
void test04(){
vector<bool> v;
for (int i = 0; i < 2; i++)
{
v.push_back(1);
v.push_back(false);
}
printboolVector(v);
//利用逻辑非 ,将容器v 搬运到 容器v2中,并执行取反
vector<bool> v2;
v2.resize(v.size()); //定义空间大小
transform(v.begin(),v.end(),v2.begin(),logical_not<bool>());
printboolVector(v2);
}
int main(){
//test01();
//test02();
//test03();
test04();
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。