首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

小结

?标准模板库(Standard Template Libarary, STL)是为许多标准数据结构和算法提供泛型程序设计的C++库。

?容器主要有两类:顺序容器和关联容器。顺序容器(vector、list和deque)是一系列元素的有序集合。关联容器(set、multiset、map和multimap)包含查找元素的键。

?容器适配器类修改了现有的容器,它基于现有的实现产生各种公有行为。STL提供了3种容器适配器,分别是stack、queue和priority_queue。

?迭代器可以看作是一种增强的指针类型。迭代器有5种类型,即输入、输出、前向、双向和随机访问。并不是所有类型的迭代器都可以作用于给定的容器类,例如,随机访问迭代器可以用于vector但不能用于map。

?STL算法库包含4类算法,分别是排序算法、不可变序算法、变序性算法和数值算法。这些算法通常使用迭代器访问由给定类型进行实例化的容器。在效率方面,这些算法可以与一些专用代码相媲美。

?使用函数对象对进一步使用STL库很有帮助。除了可以在内置类型上定义函数对象以外,function库中也定义了许多函数对象。函数对象是定义了operator()的类,其中的函数都是内联函数,并能编译生成更高效的对象代码。

?在扩展STL的时候,应该按照STL风格编写代码。这意味着应该使用令程序执行更高效的最弱迭代器类编写算法,也意味着代码应该作用于由迭代区间指定的参数。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论