标准库vector类型和迭代器iterator类型

对C++ Primer 中文版第4版  第三章标准库类型中的vector类型和迭代器iterator类型做一个总结。


vector称为容器,是同一种类型的对象的集合。一个容器中的所有对象都必须是同一种类型。

1.使用vector之前,必须包含相应的头文件。声明如下:

                         #include

                          using std::vector


2.vector保存何种对象的类型,通过将类型放在类模板名称后面的尖括号中来指定类型。

例如:vector  ivec;             含有若干int类型对象的vector,变量名为ivec。

          vector  ivec(10,"hi!");         初始化


3.vector的下标操作

C++程序员习惯于优先选用!=而不是<来编写循环判断条件。

for(vector::size_type ix=0; ix != ivec.size(); ++ix)

     ivec[ix]=0;     //正确

     ivec[ix]=ix;    //错误

注:“下标”只能用于获取已存在的元素。必须是已存在的元素才能用下标操作符进行索引。通过下标操作进行赋值时,不会添加任何元素。



迭代器简介

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

除了使用下标来访问vector对象的元素外,标准库提供来另一种访问元素的方法--就是“迭代器”。

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

1.定义

vector::iterator  iter;

每个标准库容器类型都定义了一个名为iterator的成员。


2.用迭代器编写循环

for(vector::iterator iter=ivec.begin();  iter!=iver.end(); ++iter)

  *iter=0;


3.const_iterator

const_iterator类型,该类型只能用于读取容器内元素,但不能改变其值。

for(vector::const_iterator iter=ivec.begin();  iter!=iver.end(); ++iter)

  cout<<*iter<

  *iter=100;                       //错误



你可能感兴趣的:(C++)