概述
C++迭代器(iterator)用法
1.简述
迭代器是一种检查容器内元素并遍历元素的数据类型
2.vector示例
//将vector的元素值全部修改为2
vector<int> v(10,1);
for(vector<int>::iterator it = v.begin();it!=v.end();++it)
*it = 2;
注意vector::const_iterator 与 const vector::iterator 的区别
//const_iterator:只能读取容器中的元素,而不能修改。
//const vector<int>::iterator可以修改指向容器的元素,迭代器本身不能被修改
for(vector<int>::const_iterator it=v.begin();it!=v.end();it++)
{
cout<<*it;//允许读取
//*it=3; error只读!
}
const vector<int>::iterator it2=v.begin();
*it2=11; //允许修改
//it2++; error不可修改
迭代器相减不带*号,且结果为俩迭代器之间的元素个数(存在正负号哦)
const vector<int>::iterator iter=v.begin();
vector<int>::iterator iter2=v.end();
cout<<"n"<<iter2-iter<<endl;
cout<<"n"<<iter-iter2<<endl;
3.迭代器模式
-
input iterator: 只能单步向前,且不能修改引用元素
-
output iterator: 只能单步向前,且该迭代器具有写的能力
-
**forward iterator:**只能单步向前,且能在一个正确区间进行读写操作
-
**bidirectional iterator:**向前向后都可以,且能在一个正确区间进行读写操作
-
**random access iterator:**向前向后,正确区间读写,且能像指针一样进行算数计算
注意vector 和deque提供的是Random Access Iterator,list提供的是Bidirectional Iterator,set和map提供的 iterators是 Forward Iterator。
最后
以上就是孤独枫叶为你收集整理的C++迭代器(iterator)用法C++迭代器(iterator)用法的全部内容,希望文章能够帮你解决C++迭代器(iterator)用法C++迭代器(iterator)用法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复