C++学习笔记--标准库类型(vector,iterator,bitset)(二)

时间:2021-12-11 04:21:15

        除了使用下表来访问容器外,标准库还提供了迭代器的方式(iterator)。标准库为每一种标准容器定义了一种迭代器类型。迭代器类型提供了比上下标操作更通用化的方法:所用的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持上下标操作。

        vector<int>::iterator iter;

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

        *iter=0;//*iter和ivec[0]指向的元素相同

        begin返回迭代器指向的第一个元素,而end操作返回的迭代器不指向容器中任何实际的元素。相反,它只是起到一个哨兵的作用,表示已经处理完容器中的元素。

        迭代器的自增自减操作与int型操作的自增自减操作类似。如果iter指向第一个元素,则++iter指向第二个元素。

        迭代器编写循环:

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

                    *iter=0;

       const_iterator:只能读取容器中的元素,但不能改变其值。

        const vector<int> nines(10,9);

         vector<int>::const_iterator it=nines.begin();

         *it=10;//error

         ++it;//ok