这里只说明常用的vector初始化的方式。一般vector的初始化我还是比较习惯于像数组一样的初始化方式。一个一个赋值,或者用花括号的初始化。下面用一个程序来说明:
- #include "stdafx.h"
- #include <vector>
- #include <iostream.h>
- using namespace std;
- int main(int argc, char* argv[])
- {
- int a[7]={1,2,3,4,5,6,7};
- vector<int> ivector(a,a+7);//vector的赋值并不可以像数组一样方便的用花括号方便的完成赋值,这里借用了数组来初始化这个vector,初始化方
- //式vector<elementType> intvec(begin,end);这样可以用起来看上去还是比较习惯的。
- int>::iterator iter;
- for (iter=ivector.begin();iter!=ivector.end();iter++)
- {
- cout<<*iter<<'\0';
- }
- cout<<endl;
- ivector[5]=1;//单个vector的赋值,这个方式看上去还是和数组一样的,不过你也可以这么写ivector.at(5)=1;但是就是不习惯
- cout<<ivector[5]<<endl<<ivector.size()<<endl;
- for (iter=ivector.begin();iter!=ivector.end();iter++)
- {
- cout<<*iter<<'\0';
- }
- return 0;
- }
vector的遍历:
一般数组的遍历方式应该都知道怎么遍历。上面用了迭代器进行遍历,一般在STL中很常见,但是在vector中一样可以像在数组中用for循环进行遍历,由于在像链表,队列,栈这样的容器中没有办法用像遍历数组一样遍历,只能用迭代器,所以对于STL中通用用迭代器进行遍历。
但是还有一种简便的方式。