3

我目前正在为 VS2005 使用 STL 的默认实现,但我对它并不满意。也许有更好的东西?

4

5 回答 5

8

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++ 编译器进行了很好的测试。

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

于 2008-10-13T10:58:30.057 回答
3

STLPort 怎么样?

http://www.stlport.org/

于 2008-10-13T10:28:52.113 回答
2

Dinkumware据说是 C++ 标准库最符合标准的实现之一。您可以花 200 美元获得 VS2005的二进制许可证。

于 2008-10-13T10:52:15.140 回答
2

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

于 2008-10-13T13:22:38.627 回答
2

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

于 2009-03-26T19:33:30.123 回答