为什么有些库必须实现基本数据结构?

tib*_*boo 5 c++ open-source data-structures

一些开源库倾向于重新实现基本结构,如字符串,列表,堆栈,队列......为什么他们不使用stl库?是不是还不够好?

Tyl*_*nry 12

在STL标准化之前,C++作为一种语言存在多年,并且在STL在所有编译器中一致实施之前还有几年.最初在此期间编写的库可能不希望依赖STL以便更便携.

与可移植性相关的另一个原因是嵌入式使用.例如,Qt重新实现了大部分STL,因为Qt应用程序有时针对可能没有STL实现的嵌入式平台(例如诺基亚智能手机).


kyo*_*ryu 4

在某些情况下,在标头中公开 STL 类型可能会导致非常非常糟糕的链接时间。在大型项目中,这可能是将它们“隐藏”在看似专有的 API 后面的充分理由。