C++ 迭代器
来源:互联网 发布:域名 知识产权 编辑:程序博客网 时间:2024/06/07 04:03
迭代器(iterator)是一种检查容器内元素并遍历元素的数据类型。每种容器都定义了自己的迭代器,如(vector)。
#include<iostream>#include<vector>using namespace std;int main(){vector<int> vt(10.4);vector<int>::iterator iter = vt.begin();//begin()操作返回一个迭代器,指向第一个元素数据//迭代器实际上是一个指针 *iter = 5;iter ++;*iter = 6;for(vector<int>::iterator x = vt.begin();x != vt.end();x ++){//end()是指向最后一个元素的下一个元素 cout << *x << endl;}return 0;}
const_iterator只能读取容器中的元素,而不能修改。
vector<int>::const_iterator iter = vt.begin();*iter = 5;iter ++;*iter = 6;
如果改为这样就错了,因为咱们需要修改iter的值。
for(vector<int>::const_iterator x = vt.begin();x != vt.end();x ++){ cout << *x << endl;}
一般的,我们习惯这样写,因为这时候程序只读不修改。
虽然看似上面写的复杂,不如如下简单:
for(vector<int>::size_type x = 0;x != vt.size();x ++){cout << vt[x] << endl;}
但是,不是每个容器都能这样写,而迭代器,每个容器都有,所以,迭代器是非常重要的。
阅读全文
0 0
- 迭代器(C#)
- 迭代器(C#)
- C/C++:迭代器的简单二分查找
- 【C++】Chapter16:迭代器模式
- Objective C--迭代器模式
- Objective C 迭代器模式
- C++vector 迭代器iterator
- C++STL之迭代器
- 迭代器分析(c++)
- C++STL 之 迭代器
- [C++] STL迭代器失效
- c++_iterator迭代器
- c++STL的迭代器
- C++STL之迭代器
- C++STL 迭代器
- C++STL之迭代器
- 【c++】迭代器iterator
- 【C++】迭代器的失效
- 策略模式
- IDE编译器学习与实现(如C/C++)
- AJAX中使用post,get接收发送数据的区别
- 工厂模式(三)-抽象工厂模式(C++实现)
- 菜鸟Android进阶之gradle依赖管理
- C++ 迭代器
- winsows server 2008 搭建FTP
- C++ DLL动态链接库的制作
- Linux和windows导入scv数据文件
- 初步探究ES6之箭头函数
- 哈夫曼树与哈夫曼编码
- [LeetCode]138. Copy List with Random Pointer
- HDU6200 mustedge mustedge mustedge (2017 ACM/ICPC Asia Regional Shenyang Online)
- Tensorflow实现一个完整的CNN例子