细数C++中的for循环

1、for(;;)
这个是最基础最简单的for循环,从刚开始学习C语言的时候就知道的。
for(int i = 0; i < 10; ++i){

}
2、foreach
完整的是for each(object var in collection_to_loop)
这个是python或Shell脚本中for循环的写法,借鉴过来的用法。但是使用Linux g++编译不过,不识别
for each(auto i in Vec){

}
3、for_each
这个是STL中的一个算法:
* @brief Apply a function to every element of a sequence.
* @ingroup non_mutating_algorithms
* @param __first An input iterator.
* @param __last An input iterator.
* @param __f A unary function object.
* @return @p __f
template<typename _InputIterator, typename _Function>
_Function
for_each(_InputIterator __first, _InputIterator __last, _Function __f)
例子:
void print(string str){
  cout << str << endl;
}
vector<string> strVec = {"a", "b", "c"};
for_each(strVec.begin(), strVec.end(), print);
4、C++11基于范围的for循环
for(auto i : Vec){

}
如果循环体由单条语句或者单个结构块组成,可以省略花括号
不依赖于下标元素,通用
不需要访问迭代器,透明
不需要定义处理函数,简洁

总结:工作中用到了,在此简单总结一下,仅供参考!

posted on 2019-11-18 15:14  我来乔23  阅读(2440)  评论(0编辑  收藏  举报

导航