金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  423 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
STL与标准库

摘编自《Extended STL》中译

在C++的世界里,STL这个术语是有歧义的。有很多C++纯化论者会抓住一切机会纠正你对"STL"这个术语的错用,而告诉你应该使用"标准库"这样的称呼。

严 格来说,STL指的是由Stepanov和他的同事们在上世纪80年代到90年代开发的、基于六个核心概念的通用模板库。这六个STL核心概念是:容器 (container)、迭代器(iterator)、算法(algorithm)、函数对象(function object)、适配器(adaptor)和分配器(allocator)。但我们今天使用的术语"STL"泛指C++标准库中与这六个概念相关的部分。

虽 然标准库中包含了许多原STL(Stepanov与同事开发的版本)的内容,但却(还)没有全盘照搬。比方说C++03标准目前只定义了基于树的关联容 器,而没有包含原STL中基于hash表的关联容器。尽管已经有建议要加入此类容器,并且会在下个C++标准发布时被采纳,但眼下的状况就是标准库并非 STL的超集。另一方面,标准库中包含不属于STL但却与STL兼容的组件,即IOStreams。

参考:C++标准库与STL的关系

(转载请注明来源于金庆的专栏)
posted on 2008-04-22 17:25 金庆 阅读(2338) 评论(1)  编辑 收藏 引用 所属分类: 1. C/C++

评论

# re: STL与标准库 2008-04-24 21:04 AMXTSHMF
用惯了这个术语,不过侯捷翻译的STL标准模板库里有一章是STL足以说明和标准库是两个概念  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理