为什么我应该使用Apache C++标准库而不是任何其他STL实现以及Boost?

Mur*_* VP 10 c++ apache stl

我从Apache C++标准库中获得了什么好处,而我从编译器和Boost库附带的STL实现中得不到什么好处?

Ara*_*raK 5

stdxx索赔似乎对我有利的一个优点:

  • 针对快速编译和极小的可执行文件大小进行了优化

在本文中,Stroustrup讨论了在一些C++编译器中应用的新思想SCARY.我在他的一篇论文中首先阅读了这篇文章.无论如何,这个功能允许减少生成的可执行文件大小(~1x - ~25x),并且更快(~1.2x - ~2.1x).在第一篇论文中,他说Rogue Wave STL支持SCARY,至少在现代实现中:

最新版本的Rogue Wave STL在其生产模式中具有独立的容器迭代器,但某些标准容器的迭代器在调试模式下不是独立的.N2911解释说,这些依赖关系实际上并不需要用于调试目的,并且可以轻松删除.

因此,如果stdxx是基于Rogue Wave STL,它可能已经实现了这个想法.


Dus*_*etz 5

Apache C++标准库项目是ISO/IEC 14882 C++标准库的完整实现.

这种C++标准库实现的最显着特点是它可以移植到大量的C++编译器,操作系统和硬件架构.

听起来如果你重视极端的便携性,这对你来说就是这样.如果不这样做,大多数人都会默认使用编译器的默认实现,所以如果遇到麻烦,社区就会变得更大.如果你没有遇到实现问题,我不明白为什么它应该有很大的不同.

我通常会因为这个意见而受到抨击,但我喜欢有一个公司可以支付以解决问题的想法,我的开发人员(和我)不够聪明(或没有时间)潜入内部并修复bug .