我目前正在为 VS2005 使用 STL 的默认实现,但我对它并不满意。也许有更好的东西?
5 回答
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++ 编译器进行了很好的测试。
如果您决定尝试这些替代方案,祝您好运!让我们知道进展如何。
STLPort 怎么样?
Dinkumware据说是 C++ 标准库最符合标准的实现之一。您可以花 200 美元获得 VS2005的二进制许可证。
还有Apache STL,但正如其他人所指出的,我相信 Dinkumware 是您最好的选择。
根据您的限制,您可能会发现 Electronic Arts 的 STL 实现很有趣:EASTL