当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

C++箴言:为范例信息利用特点类[VC/C++编程]

赞助商链接



  本文“C++箴言:为范例信息利用特点类[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

STL 主如果由 containers(容器),iterators(迭代器)和 algorithms(算法)的 templates(模板)构成的,但是也有几个 utility templates(实用模板).此中一个被称为 advance.advance 将一个指定的 iterator(迭代器)移动一个指定的距离:

template<typename IterT, typename DistT> // move iter d units
void advance(IterT& iter, DistT d); // forward; if d < 0,
// move iter backward

在概念上,advance 仅仅是在做 iter += d,但是 advance 不能这样实现,因为只有 random access iterators(随机拜候迭代器)支持 += operation.不够强力的 iterator(迭代器)范例不得不通太反复操纵 ++ 或 -- d 次来实现 advance.

你不记得 STL iterator categories(迭代器种类)了吗?没问题,我们这就做一个简单回想.对应于它们所支持的操作,共有五种 iterators(迭代器).input iterators(输入迭代器)只能向前移动,每次只能移动一步,只能读它们指向的东西,并且只能读一次.它们以一个输入文件中的 read pointer(读指针)为原型;C++ 库中的 istream_iterators 就是这一种类的典型代表.output iterators(输出迭代器)与此近似,只不过用于输出:它们只能向前移动,每次只能移动一步,只能写它们指向的东西,并且只能写一次.它们以一个输出文件中的 write pointer(写指针)为原型;ostream_iterators 是这一种类的典型代表.这是两个最不强力的 iterator categories(迭代器种类).因为 input(输入)和 output iterators(输出迭代器)只能向前移动并且只能读大概写它们指向的地方最多一次,它们只合适 one-pass 运算.

一个更强力一些的 iterator category(迭代器种类)是 forward iterators(前向迭代器).这种 iterators(迭代器)能做 input(输入)和 output iterators(输出迭代器)可以做到的每一件事情,再加上它们可以读大概写它们指向的东西一次以上.这就使得它们可用于 multi-pass 运算.STL 没有供应 singly linked list(单向链表),但某些库供应了(普通被称为 slist),而这种 containers(容器)的 iterators(迭代器)就是 forward iterators(前向迭代器).TR1 的 hashed containers(哈希容器)的 iterators(迭代器)也可以属于 forward category(前向迭代器).


  以上是“C++箴言:为范例信息利用特点类[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: 与您的QQ/BBS好友分享!
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .