搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
STL扩展技术手册.卷??,集合和迭代器.Volume 1,Collections and iterators
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111242277
  • 作      者:
    Matthew Wilson著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2008
收藏
编辑推荐
  著名的C++专家MatthewWilson在《STL扩展技术手册(卷1):集合和迭代器》中展示了如何超越C++标准并扩展标准模板库(StandardTemplateLibrary,STL),进入包含API和非标准集合的更广阔的C++世界,以编写更有效、更有表达力、更灵活、更健壮的软件。
  在《STL扩展技术手册(卷1):集合和迭代器》中,Wilson使用自己创新的技术帮助读者掌握STL扩展特性,这体现在两个方面:将专用技术库和操作系统API适配为STL兼容的集合,并定义精密的迭代适配器,使STL潜在的效率和表现力得以实现。Wilson用实际的例子阐明了几个强大的概念和技巧,让你在连STL的创造者都未曾预见的方向上扩展STL,其中包括集合、元素参考类别、外部迭代器失效和推断式接口适配。
  对于那些对STL知之甚微的C++程序员,《STL扩展技术手册(卷1):集合和迭代器》将是宝贵的资源。
展开
作者简介
  威尔森,MatthewWilsonSynesis软件公司的软件开发顾问,STLSoft和Pantheios库的创建者,《ImperfectC++》(AddisonWesley)的作者,他曾是《C/C++UsersJournal》(C/C++用户杂志)的专栏作家,也是一些主要出版物的撰搞者,具有15年以上的C++经验。他拥有英国曼彻斯特大学博士学位,目前定居在澳大利亚。
展开
内容介绍
  以STLSoft为基础,广泛深入地论述了C++标准库STL的相关内容。全书共三部分43章,包括标准库模板、扩展STL、元素引用类别、DRYSPOT原则、抽象泄漏法则、契约式编程、约束、垫片、不完备结构一致性的发端、资源获取、模板工具、推断式接口适配、Henney假说、适配、遍历进程和模块、环境变量、字符串分词、聚集分散的I/O以及迭代器等内容。
  通过严谨的表述与丰富的示例,将概念和理论与实际的设计和代码结合起来,从而使读者既能深刻地理解STL的知识,又能熟练地掌握STL运用方法。
展开
精彩书评
  “《Extended STL》不只是一本关于适应STL并用于日常工作的书,它也是一次冒险旅行,它带你经历软件设计和概念、C++的强力技术,以及真实世界软件开发中的危险,换句话说,它是一本Matthew Wilson风格的书。如果你对C++的态度是严肃认真的,我认为你应该阅读它。”
  —Bjorn Karlsson,主设计师,ReadSoft;〈Beyond the C++ Standard Library: An Introduction to Boost》的作者
展开
精彩书摘
  第2章.扩展STL:STL与真实世界的碰撞
  好的定律是清楚和简单的,并让使用者在面对具体问题时应对自如。
  -RonMcCallum教授
  搞清楚你此刻应当做什么,然后去做。
  -BillyConnolly
  前章涵盖了STL的要点,包括容器、迭代器、算法、函数对象、分配器及适配器的核心概念。可惜扩展STL时,这些概念不是太抽象就是太粗糙。这一章中我们将针对本卷中关于集合及迭代器适配器的材料,进一步探讨这些概念。
  2.1.术语
  虽然标准库中包含了许多原STL(Stepanov与同事开发的版本)的内容,但却(还)没有全盘照搬。比方说C++03标准目前只定义了基于树的关联容器,而没有包含原STL中基于hash表的关联容器。尽管已经有建议要加入此类容器,并且会在下个C++标准发布时被采纳,但眼下的状况就是标准库并非STL的超集。
  另一方面,标准库中包含不属于STL但却与STL兼容的组件,即IOStreams。当把IOStreams看作严肃的I/O程序库,无论从哪方面考量,附着其上的STL兼容接口都对C++有利无害。
  STL与标准库有许多重叠的地方,但两者却又是不同的。在这一卷中,我不去理会任何未被标准库采纳的STL组件,反之亦然。所以,当我提到“标准组件”的时候,我的意思是指那些既在STL库又在标准库中,且定义与标准库定义一致的组件。
  本书主要讨论的是扩展STL的技术,我们还需要一套术语才能进行下去,这些扩展不仅是增加新容器而已。事实上,大部分扩展提供的是对一个区间内的元素的访问手段,但它们根本不是容器,我称它们为STL集合。我们在下一个小节中讨论集合概念,及其与容器概念的关系。
  2.2.集合
  STL本身只关注容器。标准把容器定义为“存储别的对象,[同时]对这些对象负有分配及回收的责任,途径是对象的构造函数,析构函数,插入操作以及删除操作”(C++-03:23.1;1)。但是有比容器多得多的类型属于对象集合(图2.1)。在本书所有后续章节,特别是在第二部分中,我将使用在本章中定义的分类。
展开
目录
译者序
前言
致谢
序言
编排体例
第一部分 基础
第1章 标准模板库
第2章 扩展STL:STL与真实世界的碰撞
第3章 元素引用类别
第4章 奇异去临时引用
第5章 DRY SPOT原则
第6章 抽象泄漏法则
第7章 契约式编程
第8章 约束
第9章 垫片
第10章 鸭规则和鹅规则:不完备结构一致性的发端
第11章 资源获取即初始化
第12章 模板工具
第13章 推断式接口适配:编译时适配接口不全的类型
第14章 Henney假说:当模板参数表太长
第15章 通过equal()减少友元函数的使用
第16章 基本组件

第二部分 集合
第17章 适配glob API
第18章 插曲:构造函数冲突以及不良的设计
第19章 适配opendir/readdir API
第20章 适配FindFirstFile/FindNextFile API
第21章 插曲:枚举FTP服务器目录——保持效率和可用性的平衡
第22章 遍历进程和模块
第23章 斐波那契序列
第24章 适配MFC的CArray容器族
第25章 环境变量的map
第26章 在Z平面上来回穿梭
第27章 字符串分词
第28章 适配COM枚举器
第29章 插曲:运用成员类型推断,纠正设计上的小疏忽
第30章 适配COM集合
第31章 聚集分散的I/O
第32章 根据参数返回不同类型
第33章 外部迭代器失效

第三部分 迭代器
第34章 增强版ostream_iterator
第35章 插曲:借助解引用代理模式,消除笨拙的输出迭代器语法
第36章 变换迭代器
第37章 插曲:命名时谨慎为好
第38章 成员选取迭代器
第39章 连接C风格字符串
第40章 字符串对象的连接操作
第41章 适配迭代器特征类
第42章 过滤迭代
第43章 组合多个迭代器适配
结语
参考书目
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证