定义:提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。
结构图:
示例代码:
public interface Iterator {
public Object First();
public Object Next();
public boolean isDone();
public Object currentItem();
}
pub...
分类:
其他好文 时间:
2014-10-05 15:36:18
阅读次数:
186
3.迭代器简介
除了使用下标来访问vector对象的元素外,标准库还提供了访问元素的方法:使用迭代器。迭代器是一种检查容器内元素并且遍历元素的数据类型。
百科释义:
迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做...
分类:
其他好文 时间:
2014-10-04 23:11:57
阅读次数:
189
/* * 取出map元素的两种方式 */package com.map.test;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class Tes...
分类:
编程语言 时间:
2014-10-04 22:28:37
阅读次数:
187
有array(数组)、smartptr(智能指针)、stack(栈);一、array:1、我们实现了指针访问和下标访问。C++中指针访问常用迭代器来代替。2、这里我们也揭示了 size_type、iterator、[] 、begin()、end()、size()的真实面目;Array.hpp 1 #...
分类:
编程语言 时间:
2014-10-02 02:02:52
阅读次数:
292
在看STL的源码,发现is_pointer的模板调用,写了一个测试代码如下:
#include
#include
using namespace::std;
namespace iotek{
template
struct integral_constant
{
static constexpr _Tp value = _...
分类:
编程语言 时间:
2014-09-30 17:38:29
阅读次数:
523
Description
You may have wondered why most extraterrestrial life forms resemble humans, differing by superficial traits such as height, colour, wrinkles, ears, eyebrows and the like. A few bear n...
分类:
其他好文 时间:
2014-09-30 16:58:17
阅读次数:
182
这里的迭代器能够与STL组件共同工作,是对STL的一种扩充。 自定义迭代器必须提供iterator_traits的五种特性,分别是迭代器类型、元素类型、距离类型、指针类型与reference类型。 这里我们继承标准库提供的iterator即可。 代码如下: MyIterator.hpp 该迭代器针对...
分类:
其他好文 时间:
2014-09-29 23:37:51
阅读次数:
188
erase 删除后 返回的是删除元素的后一个迭代器位置
int main()
{
//如何正确的删除所有元素 循环
int a[]={1,2,3,4,5,6,7,8,9};
vector v(a,a+6);
for(vector::iterator it=v.begin();it!=v.end();)
{
it=v.erase(it);
}
for(vector::itera...
分类:
编程语言 时间:
2014-09-29 14:48:31
阅读次数:
150
增加了逆置迭代器的实现 以及swap功能 完整代码如下: #ifndef VECTOR_H_
#define VECTOR_H_ #include #include #include template class Vector
{
public: typedef T *iterator; typed...
分类:
其他好文 时间:
2014-09-29 04:28:56
阅读次数:
282