iterator、const_iterator和const iterator的区别
来源:互联网 发布:js实现圆圈动态显示 编辑:程序博客网 时间:2024/05/16 00:29
最近研究iterator,看了下const_iterator和const iterator的使用,记录下来,以供以后参考。
(1)iterator迭代器,对容器中的元素可以读写操作
string tem = "abcde"; string::iterator start = tem.begin(); string::iterator end = tem.end(); while(start != end) { *start = 'a'; ++start; } cout<<tem<<endl;
输出结果:
(2)const_iterator,对容器中的元素只能读,不能写
string tem = "abcde"; string::const_iterator start = tem.begin(); string::const_iterator end = tem.end(); while(start != end) { *start = 'a'; ++start; } cout<<tem<<endl;
程序出错,如下:
注意:如果容器是一个const类型的,则只能用const_iterator,不能用iterator
const string tem = "abcde"; string::const_iterator start = tem.begin(); string::const_iterator end = tem.end(); while(start != end) { cout<<*start<<endl; ++start; }
输出结果:
(3)const iterator:迭代器指向一块固定内存,不能指向其它内存块,但是该内存块的存储内容可变
string tem = "abcde"; const string::iterator start = tem.begin(); *start = 'b'; cout<<*start<<endl;
输出结果:
尝试使该迭代器指向其它内存,会报错:
string tem = "abcde"; const string::iterator start = tem.begin(); start++; cout<<*start<<endl;
出错:
0 0
- const iterator ,iterator 和const_iterator的区别
- iterator、const_iterator和const iterator的区别
- const_iterator, iterator和const iterator的区别
- const_iterator和const iterator的区别
- const iterator 和 const_iterator 的区别
- const iterator和const_iterator的区别
- const iterator 和const_iterator区别
- iterator和const iterator 和 const_iterator的区别
- iterator,const_iterator,const iterator区别
- const_iterator 和 const..iterator
- const iterator和const_iterator
- c++ 中 const_iterator 和 const vector<>::iterator的区别
- c++ 中 const_iterator 和 const vector<>::iterator的区别
- const vector<int>::iterator和vector<int>::const_iterator的区别
- const_iterator与const的iterator的区别
- const iterator 与const_iterator的区别
- const_iterator与const iterator区别
- iterator与const_iterator及const iterator区别
- activity布局中加载fragment
- motion的移植和配置
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- 在 VS2013 中调用 ffmpeg 库函数
- 学习ubuntu之路(一) Ubuntu下,清屏等终端常用命令
- iterator、const_iterator和const iterator的区别
- Redis介绍和安装
- HTML基本知识点总结
- 做一点事情就想放松,然后就开始拖延,怎么克服?
- 2015072701 - 出门
- iOS UI - 用循环批量创建Label
- mac 下android开发 eclipse中找不到设备
- android 屏幕适配方案
- excel 如何绘制边框