使用STL克隆有什么好处?

Dub*_*Dot 3 c++ stl

  • 我什么时候需要替代C++的STL?
  • 使用替代STL有什么好处吗?
  • 如果有的话,你会推荐哪些?

很抱歉这些noob项目符号,但我看到很多产品附带了不同的STL链接,并想知道什么时候这样的东西是有用的.

Mic*_*son 8

我假设您正在谈论STL的替代实现,而不是STL的替代方案.

您可能使用第三方STL实现的原因有几个,而不是编译器提供的默认值.

  1. 一致性 - 您可能正在使用多个编译器,并希望确保在每个平台上获得相同的行为.

  2. 速度 - 实现可能比编译器提供的更有效.

  3. 完整性 - 您的编译器默认库可能无法提供完整的STL功能.(这可能仅适用于旧编译器,嵌入式系统的编译器或C++ 11功能).

  4. 额外功能 - STL的某些实现提供了诸如无效迭代器的改进调试等功能,这些功能可能不在您的编译器实现中.

显然并非所有这些都适用于所有编译器......但是肯定存在第三方STL可能有用的情况.

至于实现:你可以在这里找到一个列表