为什么用for_each而不用for?解决方案
为什么用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让代码看起来更加清晰,更加容易理解。
[解决办法]可以清晰地写成一个语句。
函数指针作为参数传递时,对函数对象实现还有什么便利什么的。
[解决办法]萝卜青菜各有所爱 看你喜欢了