假设有这样的一个vector:

vector<int> line={1,2,3,4,5,6,7,8,9};

需要输出vector里的每个元素,主函数如下:

void showvec(const vector<int>& line)
{
} int main(int argc, char** argv) {
vector<int> line = {1, 2, 3, 4, 5, 6, 7, 8, 9};
showvec(line);
return 0;
}

方法一:for循环迭代器输出

void showvec(const vector<int>& line) {
for (vector<int>::const_iterator iter = line.cbegin();iter != line.cend(); iter++) {
cout << (*iter) << endl;
}
}

或者使用c++新增的语义auto

void showvec(const vector<int>& line) {
for (auto iter = line.cbegin(); iter != line.cend(); iter++) {
cout << (*iter) << endl;
}
}

方法二:for_each加函数

template <typename T>
void printer(const T& line) {
cout << line;
cout << endl;
} void showvec(const vector<int>& line) {
for_each(line.cbegin(), line.cend(), printer<int>);
}

方法三:for区间遍历

for (auto lin : line) {
cout << lin;
}

  

C++11中vector的几种遍历方法的更多相关文章

  1. 论C++11 中vector的N种遍历方法

    随着C++11标准的出现,C++标准添加了许多有用的特性,C++代码的写法也有比较多的变化. vector是经常要使用到的std组件,对于vector的遍历,本文罗列了若干种写法. (注:本文中代码为 ...

  2. Jquery中each的三种遍历方法

    Jquery中each的三种遍历方法 $.post("urladdr", { "data" : "data" }, function(dat ...

  3. Java中Map的三种遍历方法

    Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历.   告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...

  4. jquery中each的3种遍历方法

    1.选择器+遍历 $('div').each(function (i){ i就是索引值 this 表示获取遍历每一个dom对象 }); 2.选择器+遍历 $('div').each(function  ...

  5. Jquery中each的3种遍历方式

    学习目标: 参考博文: https://blog.csdn.net/honey_th/article/details/7404273 一.Jquery中each的几种遍历方法 1. 选择器+遍历 &l ...

  6. 谈谈vector容器的三种遍历方法

    说明:本文仅供学习交流.转载请标明出处.欢迎转载!          vector容器是最简单的顺序容器,其用法相似于数组.实际上vector的底层实现就是採用动态数组.在编敲代码的过程中.经常会变量 ...

  7. HashMap有几种遍历方法?推荐使用哪种?

    本文已收录<面试精选>系列,Gitee 开源地址:https://gitee.com/mydb/interview HashMap 的遍历方法有很多种,不同的 JDK 版本有不同的写法,其 ...

  8. java 完全二叉树的构建与四种遍历方法

    本来就是基础知识,不能丢的太干净,今天竟然花了那么长的时间才写出来,记一下. 有如下的一颗完全二叉树: 先序遍历结果应该为:1  2  4  5  3  6  7 中序遍历结果应该为:4  2  5 ...

  9. 2017.10.25 Java List /ArrayList 三种遍历方法

    java list三种遍历方法性能比较 学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入记录,然后遍历ArrayList,测试代码如下: pac ...

随机推荐

  1. xunit的assert常用部分方法解释

    布尔:True(返回bool的方法或者字段) 判断是否为trueFalse(返回bool的方法或者字段) 判断是否为false 字符串(区分大小写):Equal(期待结果,实际结果) 判断输出值和期待 ...

  2. 七. jenkins部署springboot项目(4)-linux环境--远程调试

    前提:linux环境,jenkins服务器和springboot服务器不在一台机器. linux环境,jenkins这里就不说了,主要说下和windows环境的不同. 1. jenkins服务器连接s ...

  3. Oracle下定时删除归档日志脚本

    一.报错信息 前几天网站突然访问不了,并且报了如下错误: ora-27101: shared memory realm does not exist ora-01034: oracle not ava ...

  4. 用shell脚本实现MongoDB数据库自动备份

    一.创建MongoDB备份目录 用来存放数据 mkdir -p /data/mongodb_bak/mongodb_bak_now mkdir -p /data/mongodb_bak/mongodb ...

  5. MSDN上关于WinDbg的手册

    参考:http://msdn.microsoft.com/en-us/library/windows/hardware/ff540507(v=vs.85).aspx 这是最靠谱的参考了,比.hh要直观 ...

  6. 正则sub的使用

    import re # unicode 编码匹配范围[u4e00-u9fa5] pattern = re.compile('(\w+) (\w+)') s = 'hello 123,hello 456 ...

  7. QTP Code Segment

    Dim WshShellset WshShell = CreateObject("WScript.Shell")WshShell.SendKeys "{DOWN}&quo ...

  8. 转 : jconsole 和jvisualVM 监控远程 spring boot程序

    监控java 程序 增加启动参数 java  \ -Djava.rmi.server.hostname=192.168.2.39 \ -Dcom.sun.management.jmxremote \- ...

  9. ThinkPHP3.2.3 目录介绍

    ThinkPHP3.2.3 目录介绍,在开发中主要操作的目录就是在入口文件www/index.php中定义的www/application/文件目录了. www  WEB部署目录 ├─index.ph ...

  10. luoguP1079 Vigenère 密码 题解(NOIP2012)

    P1079 Vigenère 密码 题目 #include<iostream> #include<cstdlib> #include<cstdio> #includ ...