容器的迭代器
分为四种
- const_iterator:常量的正向迭代器 只能读,而不能写。
- iterator:普通的正向迭代器。
- reverse_iterator:普通的反向迭代器。
- const_reverse_iterator:常量的反向迭代器。
使用案例
#include<iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec;
for (int i = 0; i < 20; ++i)
{
vec.push_back(rand() % 100 + 1);
}
vector<int>::const_iterator it = vec.begin();
for (; it != vec.end(); ++it)
{
cout << *it << " ";
//*it = 12; 常迭代器无法使用解引用修改其值
}
cout << endl;
//=============================================
vector<int>::iterator it1 = vec.begin();
for (; it1 != vec.end(); ++it1)
{
cout << *it1 << " ";
*it1 = 0;
}
cout << endl;
it1 = vec.begin();
for (; it1 != vec.end(); ++it1)
{
cout << *it1 << " ";
}
cout << endl;
it1 = vec.begin();
for (; it1 != vec.end(); ++it1)
{
*it1 = rand() % 100 + 1;
}
//=========================================
cout << "========================================" << endl;
for (int val : vec)
cout << val << " ";
cout << endl;
vector<int>::reverse_iterator rit = vec.rbegin();
for (; rit != vec.rend(); ++rit)
{
cout << *rit << " ";
}
cout << endl;
//
//vector<int>::const_reverse_iterator使用方法类似
return 0;
}