对c++ primer上面vector的常用用法做归纳总结。
4种初始化vector的方式:
1、vector<T> v1; vector保存类型为T的对象。默认构造函数,v1为空。
2、vector<T> v2(v1); v2是v1的一个副本。
3、vector<T> v3(n,i); v3包含n个值为i的元素。
4、vector<T> v4(n); v4含有值初始化的元素的n个副本。(n个元素)
vector对象的操作
v.empty() 如果v为空,则返回true,否则返回false。
v.size() 返回v中元素的个数。返回值的类型为vector<T>::size_type 类型(unsigned int)
v.push_back(t) 在v的末尾增加一个值为t的元素。(注意vector中下标操作不能添加元素:例如v[n]=n;这句话可以修改元素,前提是要这个位置有元素。比如这个位置原值为0,现在通过下标的方法修改为1。下标操作只能用于获取已存在的元素,但是如果是迭代器iterator的话,*iterator = 0是可以赋值的!!)
v[n] 返回v中位置为n的元素。
v1=v2 把v1的元素替换成v2的副本。
v1==v2 如果v1和v2相等,则返回true。
!=,<,<=,>,>= 这些符号保持原有意思。
vector中的const_iterator只能用于访问容器中的元素,不能用来改变其所指向的元素的值。可以对迭代器进行自增以及使用解引用操作符来读取值,但不能对该元素值赋值。
注意和const vector<int>::iterator cit的区分,这里cit是一个const,所以cit++是错误的!