我从Apache C++ standard library获得了哪些我从编译器和Boost库附带的STL实现中获得的好处?
答案 0 :(得分:5)
stdxx
声称的一个优点对我来说似乎是真实的:
- 针对快速编译和优化进行了优化 极小的可执行文件大小
在本文中,Stroustrup讨论了在一些名为SCARY
的C ++编译器中应用的新思想。我首先在one of his papers中阅读了它。无论如何,这个功能允许将生成的可执行文件大小减少(~1x - ~25x)
,并且(~1.2x - ~2.1x)
更快。在第一篇论文中,他说Rogue Wave STL
支持SCARY
,至少在现代实现中是这样的:
Rogue Wave的最新版本 STL有独立的容器 迭代器处于生产模式,但是 一些标准容器' 迭代器在调试中不是独立的 模式。 N2911解释了这些 实际上并不需要依赖项 用于调试目的,可以轻松实现 被删除。
因此,如果stdxx
基于Rogue Wave STL
,则可能已实现此想法。
答案 1 :(得分:5)
Apache C ++标准库 项目是一个完整的实施 ISO / IEC 14882 C ++标准 库。
最显着的特征 这个C ++的实现 标准库是它的便携性 大量的C ++编译器, 操作系统和硬件 架构。
听起来如果你重视极端的便携性,这对你来说就是这样。如果不这样做,大多数人都会默认使用编译器的默认实现,所以如果遇到麻烦,社区就会变得更大。如果你没有遇到实施问题,我不明白为什么它会产生很大的不同。
我通常会因为这个意见而受到抨击,但我喜欢有一个公司可以支付以解决问题的想法,我的开发人员(和我)不够聪明(或没有时间)潜入内部并修复错误。
答案 2 :(得分:2)
不幸的是,自2013年7月起不再支持此库。请参阅邮件列表公告:http://mail-archives.apache.org/mod_mbox/stdcxx-dev/201307.mbox/browser
答案 3 :(得分:1)
Apache C ++库最初是Rogue Wave的商业库。他们声称非常密切地跟踪C ++标准,并努力确保各种操作系统和编译器的可移植性。声称Rogue Wave库已被移植到40多个编译器中。
答案 4 :(得分:0)
我不熟悉Apache C ++标准库,所以我不确定它有什么设施。如果您发现它提供了您需要的所有内容,那么使用它或使用另一个STL实现与Boost并没有太大区别。但是,Boost提供的功能远远超过一些TR1功能和智能指针等功能。它还有:
这一切都取决于你需要的设施。