标准库vector类型

1、vector不是一种数据类型,而只是一个类模板,可用来定义任意多种数据类型。vector类型的每一种都指定了其保存元素的类型。因此,vector<int>和vector<string>都是数据类型。

2、vector对象的定义和初始化

  ①vector<T> v1;

  ②vector<T> v2(v1);

  ③vector<T> v3(n,i);

  ④vector<T> v4(n);

3、vector对象的操作

  ①v.empty()

  ②v.size()

  ③v.push_back(t)

  ④v[n]

  ⑤v1=v2

  ⑥v1==v2

  ⑦!=,<,<=,>,>=

4、vector对象的size

  vector<int>::size_type:对的

  vector::size_type:错的

5、下标操作不添加元素

  必须是已存在的元素才能用下标操作符进行索引。

6、迭代器

  迭代器是一种检查容器内元素并遍历元素的数据类型。

  所有的标准库容器都定义了响应的迭代器类型,而只有少数的容器支持下标操作。

  例如:vector<int>::iterator it;

  begin和end操作:

    vector<int>::iterator it=ivec.begin();

7、迭代器类型可使用解引用操作符(*)来访问迭代器所指向的元素

    *it = 0;

8、迭代器的其他操作

  ==,!=:如果两个迭代器对象指向同一个元素,则它们相等,否则不等。

for(vector<int>::iterator it=ivec.begin();it!=ivec.end();it++)
        *it=0;

9、

  vector<int>::const_iterator it:it自身的值可以改变,但是不可以改变it所指向的元素的值

  const vector<int>::iterator it:it自身的值不可以改变

10、任何改变vector长度的操作都会使已存在的迭代器失效。例如,在调用push_back之后,就不能再信赖指向vector的迭代器的值了。

posted @ 2015-03-31 22:14  momo_Unique  阅读(111)  评论(0编辑  收藏  举报