>STL(Standard Template Library)是C++標(biāo)準(zhǔn)庫的最重要的組成部分,STL(標(biāo)準(zhǔn)模板庫)不僅是一個(gè)可復(fù)用的組件庫,而且是一個(gè)包羅算法和數(shù)據(jù)結(jié)構(gòu)的軟件..."/>
溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

初識(shí)STL

發(fā)布時(shí)間:2020-08-05 11:09:27 來源:網(wǎng)絡(luò) 閱讀:570 作者:檸公子 欄目:編程語言

基本概念>>

STL(Standard Template Library)是C++標(biāo)準(zhǔn)庫的最重要的組成部分,STL(標(biāo)準(zhǔn)模板庫)不僅是一個(gè)可復(fù)用的組件庫,而且是一個(gè)包羅算法和數(shù)據(jù)結(jié)構(gòu)的軟件框架。

版本介紹>>

原始版本-Alexander Stepanov、Meng Lee在惠普實(shí)驗(yàn)室完成原始版本,本著開源精神,他們聲明允許任何人任意運(yùn)用、拷貝、修改、 傳播、商業(yè)使用這些代碼,無需付費(fèi)。唯一的條件就是也需要向原始版本一樣做開源聲明。

1. HP版本-也是所有STL的始祖 

2. PJ版本-由P.J.Plauger開發(fā)--Windows-VS

3. RW版本-由Rouge Wave公司開發(fā)

4. SGI版本-有Silicon Graphics Systems, Inc公司開發(fā)-Linux

由于我學(xué)習(xí)時(shí)主要參考的是侯捷老師的《STL源碼剖析》一書,所以博主重點(diǎn)談SGI版本,GCC用的也是此版本~

STL六大組件>>

1.容器( containers)——各種資料結(jié)構(gòu),如vector、list、deque、set、map等。

2.算法(algorithm)——各種常用算法,如sort、search、erase等。

3.迭代器( iterators)——扮演容器與算法之間的膠合劑。

4.仿函數(shù)(functors)——行為類似函數(shù),可作為算法的某種策略。

5.配接器(adapters)——用來修飾容器或仿函數(shù)或迭代器接口的東西。

6.配置器(allocators)——負(fù)責(zé)空間配置與管理。

初識(shí)STL


       從上述圖片可以看出六大組件之間的關(guān)系如下:容器從配置器那里取得相應(yīng)的數(shù)據(jù)存儲(chǔ)空間,算法通過迭代器存取容器的內(nèi)容,仿函數(shù)可以協(xié)助算法完成不同的策略變化,配接器可以修飾或套接仿函數(shù)。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI