定义vector有两种类型,即所谓的数组习惯和STL习惯。
1、数组习惯用法中,模仿内置数组的用法,定义一个已知长度的vector:
vector <int> ivec(10);
vector的元素被初始化为与其类型相关的缺省值,算术和指针类型的缺省值是0,class类型的缺省值通过调用默认构造函数获取。
初始化方式有多种......
甚至允许被另一个vector初始化,或赋值给另一个vector。
2、STL习惯用法,则是定义一个空vector:
vector <int> ivec;
定义空vector后,不允许这样赋值:
ivec[0] = 1024;
通过push_back()等操作插入值,注意,此操作插入数据将增加vector的大小,而不是覆盖现有的元素。
这种习惯用法最典型的特点是迭代器。