STL uygulamaları için birkaç kaynağa bakıyordum (SGI, STLport, libC++) ve tüm uygulamaların çoğunda ortak olan birkaç tasarım deseni gördüm, ama hiçbir neden bulamadım. örneğin 2 sınıfları olarak uygulanmıştır, diğerleri arasında vector
ve list_iterator
dahilTasarım mantığının arkasında STL
Birçok sınıflar,: Ben orada iyi tınlama olabilir ve ne olduğunu bilmek ister gerekir varsayalım
list_iterator_base
, işlevselliğin bir parçası velist_iterator
,list_iterator_base
arabiriminin geri kalanıyla devralınır. Amaç ne? Bir sınıfta kolayca jut yapılabilirmiş gibi görünüyor.Yineleyiciler,
iterator
sınıfından yararlanmadılar. Kullanmak için bazı performans cezası var mı?
Sadece hızlı bir yağsızlıkla karşılaştığım 2 soru var. Bir STL uygulamasının uygulama mantığını açıklayan iyi bir kaynak bilen varsa, bunu duymaktan mutluluk duyarım.
"Jumbo karides". –
Teknik olarak STL ve standart kitaplığın (stdlib) farklı olduğunu unutmayın. İkincisi, çoğunlukla resmi dil standardına eklendiğinde, eskiden türetilmiştir. Neredeyse hiç kimse "gerçek" STL'yi artık kullanmaz, bunun yerine standart kütüphanenin uygulamalarını kullanır (ör. LibC++). STDlib'e birçok kişi STL olarak başvurur ve bu genelde iyidir, fakat sorunuz için bu ayrım anlamını değiştirir. – GManNickG
@DaveNewton Yorumunuzu anlamıyorum. – baruch