C++中for循环的5种语法,你可知道?

来源:互联网 发布:算法的复杂度分析 编辑:程序博客网 时间:2024/06/07 21:15

在最新的C++中,支持for循环的5种用法,你可知道?

#include <algorithm>#include <vector>//////////////////////////////////////////////int nArray[] = {0, 1, 2, 3, 4, 5};std::vector<int> vecNum(nArray, nArray + 6);CString strText;// 第一种用法:最原始的语法(用下标)for (size_t i = 0; i < vecNum.size(); ++i){strText.Format("%d", nArray[i]);AfxMessageBox(strText);}// 第二种用法:最原始的语法(用迭代器)for (auto it = vecNum.begin(); it != vecNum.end(); ++it){strText.Format("%d", *it);AfxMessageBox(strText);}// 第三种用法:简化数组遍历语法(从vs2008开始支持)for each(auto item in vecNum){strText.Format("%d", item);AfxMessageBox(strText);}// 第四种用法:STL函数std::for_each(vecNum.begin(), vecNum.end(), [](int item){                                           CString strText;                                   strText.Format("%d", item);                   AfxMessageBox(strText);                                                });// 第五种用法:C++11新增加的(VS2012支持)for(auto item : vecNum){ strText.Format("%d", item); AfxMessageBox(strText);}


长见识了没有?在第四种用法中涉及到了Lambda表达式。

是不是越来越简化啦!


2 0
原创粉丝点击