我正在尋找STL實現(SGI,STLport,libC++)的一些源代碼,並且看到了一些似乎對所有或大多數實現共同的設計模式,但我找不到任何理由。我認爲必須有一個良好的振振有辭,想知道它是什麼:STL背後的設計原理
很多類,其中包括在其他
vector
和list_iterator
,並執行了2班,例如list_iterator_base
部分功能,然後list_iterator
繼承list_iterator_base
與接口的其餘部分。有什麼意義?看起來它可以在一個班級中輕鬆完成。迭代器似乎沒有使用
iterator
類。使用它會有一些性能損失嗎?
這些是我在短時間內發現的兩個問題。如果有人知道解釋STL實現的實現原理的好資源,我很樂意聽到它。
「珍寶蝦」。 –
請注意,技術上STL和標準庫(stdlib)是不同的。後者大部分來自前者,而後者被添加到官方語言標準中。幾乎沒有人再使用「真正的」STL,而是使用標準庫的實現(例如,libC++)。很多人都把stdlib稱爲STL,這通常很好,但對於你的問題,區別會改變它的含義。 – GManNickG
@DaveNewton我不明白你的意見。 – baruch