C++ Primer 学习笔记:iterator和const_iterator
来源:互联网 发布:软件项目开发计划 编辑:程序博客网 时间:2024/05/21 17:22
定义:迭代器是一种检查容器内元素并遍历元素的数据类型。
1.迭代器用于容器。
2.标准库为每一种标准容器都定义了一种迭代器类型。
如 vector:vector<T>::iterator iter;
3.标准库没有为所有标准容器定义相应的下标操作。
总结:最好使用迭代器遍历容器。
begin 和 end 操作:
1.每种容器都定义了一对命名为 begin 和 end 的函数,用于返回迭代器。
2. begin 返回的迭代器指向第一个元素。
3.end 返回的迭代器指向 vector 的“末端元素的下一个”。
4.如果 vector 为空,begin 返回的迭代器与 end 返回的迭代器相同。
使用示例:
for (vector<int>::iterator iter = ivec.begin(); iter != text.end(); ++iter)
*iter = 0; // set element to which iter refers to 0
const_iterator:与iterator基本相同。
区别:对 const_iterator 类型解引用时,得到一个指向 const 对象的引用,
即不能修改const_iterator指向的容器元素。
// 这是合法的
for (vector<string>::const_iterator iter = text.begin(); iter != text.end(); ++iter)
cout << *iter << endl;
// 这样不合法
for (vector<string>::const_iterator iter = text.begin(); iter != text.end(); ++iter)
*iter = " ";
迭代器的算术操作:
iter + n 计算结果:iterator
iter - n 计算结果:iterator
n的类型:size_type 或 difference_type 类型
iter1 - iter2 计算结果:difference_type
- C++ Primer 学习笔记:iterator和const_iterator
- C++ Primer学习7:const iterator与const_iterator的区别
- const_iterator 和 const..iterator
- const iterator和const_iterator
- const iterator 和const_iterator区别
- c++primer学习笔记(3.4)迭代器iterator
- const iterator ,iterator 和const_iterator的区别
- iterator、const_iterator和const iterator的区别
- const_iterator, iterator和const iterator的区别
- iterator const_iterator
- C++ Primer --- const_iterator 与 const类型的iterator
- const_iterator和const iterator的区别
- 容器vector和迭代器iterator const_iterator
- const iterator 和 const_iterator 的区别
- const iterator和const_iterator的区别
- C++ Primer 学习笔记(5): 插入iterator
- C\C++中iterator与const_iterator及const iterator区别
- iterator和const iterator 和 const_iterator的区别
- .Net下的委托入门讲解
- 与一线Linux嵌入式开发工程师的对话
- Linux下启动Oracle
- 关于vs2008 中CString 转化成char * 的方法!
- IDE的烦恼
- C++ Primer 学习笔记:iterator和const_iterator
- C#基本问题
- flex按部就班学习第二节
- 世界上最远的距离
- 她哭了
- 培养创造性思维的20个技巧!
- PHP建站不再难 国外优秀开源PHP建站程序一览
- 设计模式16:Interpreter Pattern(解释者模式)
- 怎样处理测试中不可重现的错误(测试中的UFO)