13.2.2 所有容器都支持的特征

    代码13.1 中,“obL.begin()”返回的是指向容器第1个元素的迭代器,这是所有容器(容器和容器适配器)都支持的基本特征,此外,还有如表13.1所示的所有容器都支持的基本特征,其中ob、ob1和ob2是容器对象名。

    需要特别说明的是ob.end(),其返回的是末尾元素的下一个迭代器,在有的教材中称做超尾值迭代器,初学者往往会把ob.end()理解为指向容器中末尾元素的迭代器,这也是为什么在代码13.1中对obL进行遍历输出时使用“while(iter!=obL.end())”的原因。

    13.2.2 所有容器都支持的特征 - 图1

    注意

    size函数返回的类型是size_type,这个类型的定义出发点和size_t类似,是为了提高可移植性,关于size_type的介绍请参考13.4.2节的介绍。

    复杂度是操作和算法性能的衡量手段,固定复杂度代表操作所用的时间与对象中的元素数目无关,而线性复杂度代表操作所用时间正比于对象中的元素数目。