VS2005 的 STL 最佳实现是啥?

Posted

技术标签:

【中文标题】VS2005 的 STL 最佳实现是啥?【英文标题】:What is the best implementation of STL for VS2005?VS2005 的 STL 最佳实现是什么? 【发布时间】:2008-10-13 09:50:13 【问题描述】:

我目前正在为 VS2005 使用 STL 的默认实现,我是 not really satisfied。也许有更好的东西?

【问题讨论】:

【参考方案1】:

Dinkumware STL 实现(随 VS2005 提供)实际上非常好。 STL 是一个通用库,因此几乎总是可以为非常具体的用例编写更好的东西。

我知道以下替代实现,但我从未将它们与 VS2005 一起使用:

SGI 标准模板库 3.3: http://www.sgi.com/tech/stl/

STLport 5.1.6(源自 SGI 实现): http://www.stlport.org/

SGI 和 STLport 都将大小/长度检查作为 operator== 中的第一个测试来实现,因此您可能会喜欢它。它们也都可以免费下载和使用。

理论上,从一种 STL 实现更改为另一种实现应该很容易。但是,我从一些同事那里听说并非总是如此。他们遇到了编译器错误,发现他们无意中使用了非标准功能,或者在不知不觉中依赖于特定 STL 实现的某些行为。

关于 Dinkumware STL 实现的一个好处是它已经通过 VS2005 C++ 编译器的良好测试。

如果您决定尝试这些替代方案,祝您好运!并告诉我们进展如何。

【讨论】:

我相信 Dinkumware 已经发布了一个 STL 版本,它纠正了 Visual Studio 2005 附带的版本中的几个错误。请查看 Dinkumware 上的常见问题解答。【参考方案2】:

STLPort 怎么样?

http://www.stlport.org/

【讨论】:

我一直在使用 STL Port 和 VC6 到 VS2008,效果很好。【参考方案3】:

Dinkumware 被认为是 C++ 标准库最符合标准的实现之一。您可以花 200 美元购买 VS2005 的 binary licence。

【讨论】:

Visual Studio自带的STL是Dinkumware的。 基于基于Dinkumware,然而,它实际上与Dinkumware销售的产品有很大不同。【参考方案4】:

还有Apache STL,但正如其他人所指出的,我相信 Dinkumware 是您最好的选择。

【讨论】:

【参考方案5】:

根据您的限制,您可能会发现 Electronic Arts 的 STL 实现很有趣:EASTL

【讨论】:

以上是关于VS2005 的 STL 最佳实现是啥?的主要内容,如果未能解决你的问题,请参考以下文章

使用 hash_map 时在 stl 字符串上使用的最佳散列算法是啥?

在 Vs 2003 IDE 中查看数据集内容的最佳方法是啥

vs2005里面的console application是啥意思啊

VS2005中的生成解决方案, 清理解决方案是啥意思?

如何把VS2008的Solution改成VS2005格式

从 fpga 控制的最佳深度相机是啥? intel realsense vs kinect v1 vs kinect v2?