• C++之内建函数对象


    C++之内建函数对象

    在这里插入图片描述

    算术仿函数

    在这里插入图片描述

    #include
    using namespace std;
    #include//内建函数对象头文件
    //内建函数对象 算术仿函数
    
    void test()
    {
    	// negate 一元仿函数 取反仿函数
    	negaten;
    	cout << n(100) << endl;
    
    	//plus 二元仿函数 加法
    	plusp;
    	cout << p(20, 30) << endl;
    }
    
    int main()
    {
    	test();
    
    	system("pause");
    	return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    在这里插入图片描述

    关系仿函数

    在这里插入图片描述

    #include
    using namespace std;
    #include
    #include
    #include//内建函数对象头文件
    //内建函数对象 关系仿函数
    //大于greater
    class MyCompare
    {
    public:
    	bool operator()(int v1, int v2)
    	{
    		return v1 > v2;
    	}
    };
    void test()
    {
    	vectorv;
    	v.push_back(10);
    	v.push_back(50);
    	v.push_back(20);
    	v.push_back(30);
    	v.push_back(40);
    
    	for (vector::iterator it = v.begin();it != v.end();it++)
    	{
    		cout << *it << " ";
    	}
    	cout << endl;
    	//降序
    	//sort(v.begin(), v.end(), MyCompare());
    	sort(v.begin(), v.end(), greater());
    	for (vector::iterator it = v.begin();it != v.end();it++)
    	{
    		cout << *it << " ";
    	}
    	cout << endl;
    }
    
    int main()
    {
    	test();
    
    	system("pause");
    	return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    在这里插入图片描述

    逻辑仿函数

    在这里插入图片描述

    #include
    using namespace std;
    #include
    #include
    #include//内建函数对象头文件
    //内建函数对象 逻辑仿函数
    //逻辑非logical_not
    
    void test()
    {
    	vectorv;
    	v.push_back(true);
    	v.push_back(false);
    	v.push_back(true);
    	v.push_back(false);
    	v.push_back(true);
    
    	for (vector::iterator it = v.begin();it != v.end();it++)
    	{
    		cout << *it << " ";
    	}
    	cout << endl;
    
    	//利用逻辑非 将容器v 搬运到 容器v2中, 并执行取反操作
    	vectorv2;
    	v2.resize(v.size());
    
    	transform(v.begin(), v.end(), v2.begin(), logical_not());
    	for (vector::iterator it = v2.begin();it != v2.end();it++)
    	{
    		cout << *it << " ";
    	}
    	cout << endl;
    }
    
    int main()
    {
    	test();
    
    	system("pause");
    	return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    在这里插入图片描述

  • 相关阅读:
    用java实现有 4 个非零的均不相等数字,能组成多少个互不相同且无重复数字的三位数
    JUC第二十九讲:JUC工具类: Phaser详解
    “配置DHCP服务器和DHCP中继的网络自动配置实验“
    RK3588 实现温控风扇之pwm驱动调试(二)
    Matlab匿名函数教程
    SVD奇异值分解
    xxxxx
    RPC框架性能优化思路和具体实现
    C#通过C++操作共享内存和Python通讯[C#调用exe不显示窗口]
    警方打击了大规模网络钓鱼提供商BulletProftLink
  • 原文地址:https://blog.csdn.net/qq_45159887/article/details/134488082