C++ transform

1.作用
将某操作应用于指定范围的每个元素
2.格式

transform(first,last,result,op);

first是容器的首迭代器
last为容器的末迭代器
result为存放结果的容器
op为要进行操作的一元函数对象或sturct、class。
例如 将一个字符串的大写字母转换为小写字母

transform(a.begin(),a.end(),a.begin(),::tolower);//小写

3.格式二

transform(first1,last1,first2,result,binary_op);
//须保证两个容器内元素相等

first1是第一个容器的首迭代器
last1为第一个容器的末迭代器
first2为第二个容器的首迭代器
result为存放结果的容器
binary_op为要进行操作的二元函数 对象或sturct、class。

例如 令两个vector对位相乘

int op(int a,int b){return a*b;}
int main()
 {
      vector <int> A,B,SUM;
    int n;
     cin>>n;
     for(int i=0;i<n;i++)
     {
         int t;
         cin>>t;
         A.push_back(t);
     }
     for(int i=0;i<n;i++)
     {
         int t;
         cin>>t;
         B.push_back(t);
     }
     SUM.resize(n);
     transform(A.begin(),A.end(),B.begin(),SUM.begin(),op);
    for (auto n : SUM)
    {
        cout << n;
    }
     return 0;
 }
  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值