首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为什么用for_each而不用for?解决方案

2012-04-27 
为什么用for_each而不用for?以下代码为什么使用std::for_each来调用print函数呢,我直接用for循环也可以达

为什么用for_each而不用for?
以下代码为什么使用std::for_each来调用print函数呢,我直接用for循环也可以达到同样的效果,不知道C++这么多奇怪的东西,我想知道使用for_each会带来性能的提高吗,谢谢各位指教

C/C++ code
#include <iostream> #include <vector> #include <algorithm> void print(int i) {   std::cout << i << std::endl; } int main() {   std::vector<int> v;   v.push_back(1);   v.push_back(3);   v.push_back(2);   std::for_each(v.begin(), v.end(), print); } 


[解决办法]
这个也只是一个函数调用罢了
[解决办法]
STL,就是方便你使用,模板化,容易用,少写代码。。
[解决办法]
for_each使用起来更方便,更不易出错。

其实有if和goto就能实现所有的循环了,但几乎所有的高级语言里还是都提供了多种循环语句。不为别的,就为了方便安全。
[解决办法]
为了使用方便,而且使用STL函数,不用你操心安全问题了
[解决办法]
C++就一个STL库,叫做标准模版库,模版二字告诉我们它很乐意给我们提供统一的接口而无需在乎类型。

能用好的前提是的确看过相关的书籍,我就看过一本《STL源码剖析》,研读过后才有信心专业高效的使用它,推荐给你。
[解决办法]
for_ecah让代码看起来更加清晰,更加容易理解。
[解决办法]
可以清晰地写成一个语句。
函数指针作为参数传递时,对函数对象实现还有什么便利什么的。
[解决办法]
萝卜青菜各有所爱 看你喜欢了

热点排行