STL之for_each和transform对比

2017-02-24  本文已影响0人  CodeZY

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需要有返回值

上一篇 下一篇

猜你喜欢

热点阅读