zoukankan      html  css  js  c++  java
  • C++ transform for_each

    #include<iostream>
    #include<vector>
    #include <list>
    #include <algorithm>
    #include <functional>

    using namespace std;

    //不需拷贝,速度快
    void square(int &elementParam)
    {
      elementParam = elementParam*elementParam;
    }

    //速度慢,传参数一次拷贝,返回时一次拷贝
    int square2(int elementParam)
    {
      return elementParam*elementParam;
    }

    int main()
    {
      vector<int> vec2;
      vector<int> vec3;

      for (int k=0;k<10;k++)
      {
        vec2.push_back(k);
        vec3.push_back(k);
      }

      for_each(vec2.begin(),vec2.end(),square);


      for (auto vec_iter2 = vec2.begin(); vec_iter2 != vec2.end(); ++vec_iter2)
      {
        cout << *vec_iter2 << " ";
      }
      cout << endl;
      cout << "------------------------------------------------------" << endl;


      for (auto vec_iter3 = vec3.begin(); vec_iter3 != vec3.end(); ++vec_iter3)
      {
        cout << *vec_iter3 << " ";
      }
      cout << endl;
      cout << "------------------------------------------------------" << endl;

      transform(vec3.begin(),vec3.end(),vec3.begin(),square2);
      for (auto vec_iter3 = vec3.begin(); vec_iter3 != vec3.end(); ++vec_iter3)
      {
        cout << *vec_iter3 << " ";
      }
      cout << endl;
      cout << "------------------------------------------------------" << endl;

      //transform 比 for_each灵活

           //for_each比transform速度快 


      system("pause");
      return 0;
    }

    =====================================================

    0 1 4 9 16 25 36 49 64 81
    ------------------------------------------------------
    0 1 2 3 4 5 6 7 8 9
    ------------------------------------------------------
    0 1 4 9 16 25 36 49 64 81
    ------------------------------------------------------
    请按任意键继续. . .

  • 相关阅读:
    A05. openstack架构实战-nova服务控制节点安装
    A04. openstack架构实战-glance服务安装
    A03. openstack架构实战-keystone安装
    SSH暴力破解的解读与防御
    tcpdump抓包命令使用
    Superspeed.sh 一键测试服务器到中国上传/下载速度
    Windows ping TCP端口工具之tcping
    实验验证centos 7 系统不会缓存dns信息
    Linux下的TCP测试工具——TCPING安装简明教程
    Debian 9.12 live系统密码重置
  • 原文地址:https://www.cnblogs.com/herd/p/11008203.html
Copyright © 2011-2022 走看看