Chinaunix首页 | 论坛 | 博客
  • 博客访问: 189284
  • 博文数量: 54
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 630
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-02 18:41
文章分类

全部博文(54)

文章存档

2011年(1)

2009年(30)

2008年(23)

我的朋友

分类: C/C++

2009-03-20 15:12:23

    迭代器概念:(引自百度百科:)
 迭代器是一种对象,用来遍历STL容器中的部分或全部元素。每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针接口,是一种概念上的抽象:行为上像迭代器的东西都可以称迭代器。然而迭代器有很多不同能力,能把抽象容器和通用算法有机统一起来。
        迭代器提供一些基本操作符:*、++、==、!=、=。这些操作和C/C++"操作array元素"时的指针接口一致。不同之处在于,迭代器是个smart pointer,具备遍历复杂数据结构的能力。其下层运行机制取决于其所遍历的数据结构。

    以下参考自:《C++ STL中文版》
    迭代器(iterator)
 迭代器在STL中起黏合剂作用,将STL各部分结合起来。本质上来说,STL提供的算法都是模板,我们可以使用自己指定的迭代器对这些模板进行特化。标准库中提供的所有容器都提供了这样的迭代器,用以存取它们所管理的数据序列。同样建议用户在自定义容器中提供与之相配的迭代器。
   
    功能描述:
        C++中的迭代器相对于C中的指针更加一般化。指针本身可以作为定义好的迭代器使用。这种一般化行为主要体现在C++声明新类,然后重载类中大部分操作符,赋予它们新的意义。

   
    STL中应用的五种迭代器:
                迭代器类型                能力                提供者
                input迭代器               向前读取            istream
                output迭代器              向前写入            ostream,inserter
                Forward迭代器             向前读写           
                Bidirectional迭代器       双向读写            list,set,multiset,map,multimap
                Random access迭代器       随机存取            vector,deque,string,array

阅读(530) | 评论(0) | 转发(0) |
0

上一篇:硬链接与符号链接

下一篇:向量vector

给主人留下些什么吧!~~