柚子快報邀請碼778899分享:c++ STL相關簡介
柚子快報邀請碼778899分享:c++ STL相關簡介
string
看到這個詞,相信大家一定都很好奇什么是string,它有什么作用呢?今天,就讓我們一起來了解一下關于string的簡介吧~
目錄
string
1. 什么是STL
2. STL的版本
3. STL的六大組件
4. STL的重要性
5. 如何學習STL
6.STL的缺陷
1. 什么是STL
STL(standard template libaray-標準模板庫):是C++標準庫的重要組成部分,不僅是一個可復用的組件庫,而且是一個包羅數(shù)據(jù)結構與算法的軟件框架。
2. STL的版本
原始版本
Alexander Stepanov、Meng Lee 在惠普實驗室完成的原始版本,本著開源精神,他們聲明允許任何人任意 運用、拷貝、修改、傳播、商業(yè)使用這些代碼,無需付費。唯一的條件就是也需要向原始版本一樣做開源使 用。
HP 版本
--所有STL實現(xiàn)版本的始祖。
P. J. 版本
由P. J. Plauger開發(fā),繼承自HP版本,被Windows Visual C++采用,不能公開或修改,缺陷:可讀性比較低, 符號命名比較怪異。
RW版本
由Rouge Wage公司開發(fā),繼承自HP版本,被C+ + Builder 采用,不能公開或修改,可讀性一般。
SGI版本
由Silicon Graphics Computer Systems,Inc公司開發(fā),繼承自HP版本。被GCC(Linux)采用,可移植性好, 可公開、修改甚至販賣,從命名風格和編程風格上看,閱讀性非常高。(我們主要就這個版本進行參考!?。?/p>
3. STL的六大組件
主要由仿函數(shù),算法,迭代器,空間配置器,容器,配接器構成:
4. STL的重要性
SLT在筆試與面試中占據(jù)著舉足輕重的地位,是我們?nèi)蘸蟀l(fā)展的重要組成。有了它,我們便可以不再過多依賴底層的數(shù)據(jù)結構,相當于直接站在巨人的肩膀上看世界~
5. 如何學習STL
學習STL的過程就好比是一個嬰兒蹣跚學步到健步如飛的過程。
簡單總結一下:學習STL的三個境界:能用,明理,能擴展 。
6.STL的缺陷
1. STL庫的更新太慢了。
2. STL現(xiàn)在都沒有支持線程安全。并發(fā)環(huán)境下需要我們自己加鎖。且鎖的粒度是比較大的。 3. STL極度的追求效率,導致內(nèi)部比較復雜。比如類型萃取,迭代器萃取。
4. STL的使用會有代碼膨脹的問題,比如使用vector/vector/vector這樣會生成多份代碼,當然這是模板語法本身導致的。
結尾
以上便是本期的全部內(nèi)容,接下來我們將進入STL的具體學習,敬請期待哦~
柚子快報邀請碼778899分享:c++ STL相關簡介
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權,聯(lián)系刪除。