STL与标准库

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的关系

(转载请注明来源于金庆的专栏)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值