vector是相同类型对象的集合,集合中的每个对象有个对应的索引。
vector常被称为容器(container)。
C++中遍历vector的所有元素是相当常用的操作,这里介绍四种方式。
1、通过下标访问
通过下标访问,数组的用法,是最基本的操作。
![e1e1a5ebcadc0e21801992ade9cf8073.png](https://i-blog.csdnimg.cn/blog_migrate/9187b5f0074bf99cacdb012128c31d0c.jpeg)
2、通过迭代器访问
尽管可以使用下标来访问vector的元素,但更一般的机制是使用迭代器(iterator)。
![06dccd65a58b33a18a92b94411fa5c55.png](https://i-blog.csdnimg.cn/blog_migrate/78e686019364feab6270c1d36cbe4821.jpeg)
上面是最常用的两种方式,下面介绍使用C++11新特性的两种方式。
3、使用auto关键字
也是通过迭代器的方式访问,但在C++11,auto关键字可以用来做类型推断(自动获取变量的类型)。即将这个迭代器变量声明成一个auto类型,剩下的工作就可以交给编译器去做了。
由于需要C++11的支持,在使用g++编译的时候,需要加上参数:
g++ -std=c++11
4、基于范围的for循环
对于遍历数组的操作,c++11的新特性:基于范围的for循环。即对于一个可遍历的容器或流,比如vector类型,i 可以用来在遍历过程中获得容器里的每一个元素。
![ac6c978b6d5ac68552740f891b9db011.png](https://i-blog.csdnimg.cn/blog_migrate/3f8986ab2f6eef630a8249c952d79e1c.jpeg)