[英]Why should I use Apache C++ Standard Library rather than any other STL implementation along with Boost?
stdxx
声称对我的优势stdxx
似乎是正确的:
- 针对快速编译和极小的可执行文件大小进行了优化
在本文中,Stroustrup讨论了在一些名为SCARY
C ++编译器中应用的SCARY
。 我在他的一篇论文中首先阅读了这篇文章 。 无论如何,这个功能允许减少生成的可执行文件大小(~1x - ~25x)
,并且更快(~1.2x - ~2.1x)
。 在第一篇论文中,他说Rogue Wave STL
支持SCARY
,至少在现代实现中是这样:
最新版本的Rogue Wave STL在其生产模式中具有独立的容器迭代器,但某些标准容器的迭代器在调试模式下不是独立的。 N2911解释说,这些依赖关系实际上并不需要用于调试目的,并且可以轻松删除。
因此,如果stdxx
基于Rogue Wave STL
,它可能已经实现了这个想法。
Apache C ++标准库项目是ISO / IEC 14882 C ++标准库的完整实现。
这种C ++标准库实现的最显着特点是它可以移植到大量的C ++编译器,操作系统和硬件架构。
听起来如果你重视极端的便携性,这对你来说就是这样。 如果不这样做,大多数人都会默认使用编译器的默认实现,所以如果遇到麻烦,社区就会变得更大。 如果你没有遇到实现问题,我不明白为什么它应该有很大的不同。
我通常会因为这个意见而受到抨击,但我喜欢有一个公司可以支付以解决问题的想法,我的开发人员(和我)不够聪明(或没有时间)潜入内部并修复bug 。
不幸的是,自2013年7月起不再支持此库。请参阅邮件列表公告: http : //mail-archives.apache.org/mod_mbox/stdcxx-dev/201307.mbox/browser
Apache C ++库最初是Rogue Wave的商业库。 他们声称非常密切地跟踪C ++标准,并努力确保各种操作系统和编译器的可移植性。 据称,Rogue Wave图书馆已被移植到40多个编译器中。
我不熟悉Apache C ++标准库,所以我不确定它有什么设施。 如果您发现它提供了您需要的所有内容,那么使用它或使用另一个STL实现与Boost并没有太大区别。 但是,Boost提供的功能远远超过一些TR1功能和智能指针等功能。 它也有:
这一切都取决于您需要的设施。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.