柚子快報(bào)邀請(qǐng)碼778899分享:【C++】認(rèn)識(shí)STL
柚子快報(bào)邀請(qǐng)碼778899分享:【C++】認(rèn)識(shí)STL
【C++】認(rèn)識(shí)STL
STL的概念STL的版本STL的六大組件STL的三個(gè)境界STL的缺陷
STL的概念
SLT(standard template libaray-標(biāo)準(zhǔn)模板庫(kù)):是C++標(biāo)準(zhǔn)庫(kù)的重要組成部分,不僅是一個(gè)可復(fù)用的組件庫(kù),而且是一個(gè)保羅數(shù)據(jù)結(jié)構(gòu)與算法的軟件框架。
STL的版本
原始版本
Alexander Stepanov、Meng Lee 在惠普實(shí)驗(yàn)室完成的原始版本,本著開(kāi)源精神,他們聲明允許任何人任意運(yùn)用、拷貝、修改、傳播、商業(yè)使用這些代碼,無(wú)需付費(fèi)。唯一的條件就是也需要向原始版本一樣做開(kāi)源使用。 HP 版本–所有STL實(shí)現(xiàn)版本的始祖
P.J.版本
由P. J. Plauger開(kāi)發(fā),繼承自HP版本,被Windows Visual C++采用,不能公開(kāi)或修改,缺陷:可讀性比較低,符號(hào)命名比較怪異
RW版本
由Rouge Wage公司開(kāi)發(fā),繼承自HP版本,被C+ + Builder 采用,不能公開(kāi)或修改,可讀性一般。
SGI版本
由Silicon Graphics Computer Systems,Inc公司開(kāi)發(fā),繼承自HP版 本。被GCC(Linux)采用,可移植性好,可公開(kāi)、修改甚至販賣(mài),從命名風(fēng)格和編程 風(fēng)格上看,閱讀性非常高。
STL的六大組件
STL的三個(gè)境界
第一境界:熟用STL第二境界:了解泛型技術(shù)的內(nèi)涵與STL的學(xué)理乃至實(shí)作第三境界:擴(kuò)充STL
學(xué)習(xí)書(shū)籍推薦:《STL源碼剖析》
總結(jié):學(xué)習(xí)STL的三個(gè)境界:能用,明理,能擴(kuò)展。
STL的缺陷
1.STL庫(kù)的更新太慢。 2.STL沒(méi)有支持線程安全,并發(fā)環(huán)境下需要自己加鎖,且鎖的力度是比較大的 3.STL極度的追求效率,導(dǎo)致內(nèi)部比較復(fù)雜。 4.STL的使用會(huì)有代碼膨脹的問(wèn)題。
柚子快報(bào)邀請(qǐng)碼778899分享:【C++】認(rèn)識(shí)STL
文章來(lái)源
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。