具有示例的C ++ STL向量迭代器

C ++ STL矢量迭代器

以下是C ++ STL中的迭代器(公共成员函数),可用于访问元素,

迭代器(公共成员函数)描述
矢量::: begin()它返回一个指向向量的开始(第一个)元素的迭代器。
向量::: end()它返回一个指向向量的过去元素的迭代器。
矢量:: rbegin()它返回一个反向迭代器,指向向量的反向起始元素
矢量:: rend()它返回一个反向迭代器,该迭代器指向向量的第一个元素之前的元素(称为反向结束)。
向量:: cbegin()它返回一个指向向量开始元素的const迭代器。
向量:: cend()它返回一个指向向量的过去-最后一个元素的常量迭代器。
矢量:: crbegin()它返回一个const反向迭代器,指向向量的反向开始元素。
矢量::: crend()它返回一个const反向迭代器,指向向量的第一个元素之前的元素(从反向结束)。

C ++ STL程序演示矢量迭代器的示例

//C ++ STL程序演示示例 
//向量迭代器 

#include <iostream>
#include <vector>
using namespace std;

int main(){
    vector<int> v1;

    v1.push_back(10);
    v1.push_back(20);
    v1.push_back(30);
    v1.push_back(40);
    v1.push_back(50);

    //begin()和end()函数
    vector<int>::iterator it;
    it = v1.begin();
    cout << "first element is: " << *it << endl;
    it = v1.end()-1;
    cout << "last element is: " << *it << endl;
    
    //rbegin()和rend()函数
    vector<int>::reverse_iterator rit;
    rit = v1.rbegin();
    cout << "first element (from reverse) is: " << *rit << endl;
    rit = v1.rend()-1;
    cout << "last element  (from reverse) is: " << *rit << endl;    

    //cbegin()和cend()函数
    vector<int>::const_iterator cit;
    cit = v1.cbegin();
    cout << "first element is: " << *cit << endl;
    cit = v1.cend()-1;
    cout << "last element is: " << *cit << endl;    

    //crbegin()和crend()功能
    vector<int>::const_reverse_iterator crit;
    crit = v1.crbegin();
    cout << "first element (from reverse) is: " << *crit << endl;
    crit = v1.crend()-1;
    cout << "last element  (from reverse) is: " << *crit << endl;    
    
    return 0;
}

输出结果

first element is: 10    
last element is: 50
first element (from reverse) is: 50    
last element  (from reverse) is: 10    
first element is: 10    
last element is: 50
first element (from reverse) is: 50    
last element  (from reverse) is: 10