我查看了一些 STL 实现的来源(SGI、STLport、libc++),并看到了一些似乎对所有或大多数实现都通用的设计模式,但我找不到任何理由。我认为一定有一个好的共鸣,并想知道它是什么:
许多类,包括
vector
其他list_iterator
类,被实现为 2 个类,例如list_iterator_base
,具有部分功能,然后list_iterator
继承list_iterator_base
接口的其余部分。重点是什么?似乎可以在一节课上轻松完成。迭代器似乎没有使用
iterator
该类。使用它会有一些性能损失吗?
这是我在快速浏览中发现的两个问题。如果有人知道一个很好的资源来解释 STL 实现的实现原理,我会很高兴听到它。