zoukankan      html  css  js  c++  java
  • C++使用谓词函数

    源码示例:

    #include <iostream>
    #include <vector>
    #include <algorithm>

    using namespace std;

    class IsEven
    {
    public:
      bool operator()(int x)
      {
        return x % 2 == 0;
      }
    };

    class LessThan
    {
    public:
      bool operator()(int a, int b)
      {
        return a < b;
      }
    };

    int main()
    {
      int arr[] {12,25,36,8,11,15,89,32,71};
      vector<int> vec{12,25,36,8,11,15,89,32,71};

      cout<<"Original form of both array and vector: ";
      for(int e:arr)
      {
        cout<<e<<" ";
      }

      //sort the array
      sort(begin(arr), end(arr),LessThan());

      //print the sorted array
      cout<<" Here is the aorted array: ";
      for(int e:arr)
      {
        cout<<e<<" ";
      }

      //Call remove_if for even values
      auto start_removed = remove_if(begin(vec), end(vec), IsEven());
      cout<<" Here is the vector after call to remove_if: ";
      for(int e:vec)
      {
        cout<<e<<" ";
      }

      //Erase the remove_if'd elements
      vec.erase(start_removed, end(vec));
      cout<<" Here is the vector after call to erase: ";
      for(int e:vec)
      {
        cout<<e<<" ";
      }
      cout<<endl;

      return 0;

    }

    结果展示:

  • 相关阅读:
    使用RF(robotframework)要安装哪些库
    MYSQL题目练习专用
    MySQL字段拼接
    WPF样式
    WPF数据模板
    WPF控件模板
    WPF布局
    面向对象程序设计原则
    设计模式之策略模式
    设计模式之简单工厂模式
  • 原文地址:https://www.cnblogs.com/ruigelwang/p/12635341.html
Copyright © 2011-2022 走看看