美文网首页
STL之for_each和transform对比

STL之for_each和transform对比

作者: CodeZY | 来源:发表于2017-02-24 21:16 被阅读0次

for_each() 速度快 不灵活   没有返回值

transform() 速度慢 非常灵活     有返回值

for_each() 用的函数,传的参数必须是引用     

transform()传的参数不是引用   

结论:所以for_each比transform快

而transform灵活,它可以经过op运算,在复制给自己。它还可以对不同的容器进行操作,在传给它自己。

例如:transform(b.begin(),b.begin(),b.end(),square);

for_each(a.begin(),a.end(),square);    其中  square函数除了用引用外,还没有返回值,而transform需要有返回值

相关文章

网友评论

      本文标题:STL之for_each和transform对比

      本文链接:https://www.haomeiwen.com/subject/xpawwttx.html