溫馨提示×

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

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

如何理解STL

發(fā)布時(shí)間:2021-11-23 09:30:15 來(lái)源:億速云 閱讀:146 作者:柒染 欄目:互聯(lián)網(wǎng)科技

今天就跟大家聊聊有關(guān)如何理解STL,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

STL

STL是Standard Template Library的簡(jiǎn)稱,中文名標(biāo)準(zhǔn)模板庫(kù),惠普實(shí)驗(yàn)室開(kāi)發(fā)的一系列軟件的統(tǒng)稱。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普實(shí)驗(yàn)室工作時(shí)所開(kāi)發(fā)出來(lái)的。
?從根本上說(shuō),STL是一些“容器”的集合,這些“容器”有l(wèi)ist,vector,set,map等,STL也是算法和其他一些組件的集合。這里的“容器”和算法的集合指的是世界上很多聰明人很多年的杰作。STL的目的是標(biāo)準(zhǔn)化組件,這樣就不用重新開(kāi)發(fā),可以使用現(xiàn)成的組件。STL現(xiàn)在是C++的一部分,因此不用安裝額外的庫(kù)文件。

STL組成部分

容器(containers)
迭代器(iterators)
空間配置器(allocator)
配接器(adapters)
算法(algorithms)
仿函數(shù)(functions)

容器分類

序列式容器
數(shù)組(array);
向量(vector):連續(xù)存儲(chǔ)的元素;
列表(list):有節(jié)點(diǎn)組成的雙向鏈表;
雙端隊(duì)列(deque):連續(xù)存儲(chǔ)的指向不同元素的指針?biāo)M成的數(shù)組。
適配器(在一般序列容器的基礎(chǔ)上提供了不同的功能,用序列容器實(shí)現(xiàn)的新容器)
棧(stack);
隊(duì)列(queue);
優(yōu)先隊(duì)列(priority_queue):元素的次序由作用于所存儲(chǔ)的值對(duì)上的某種謂詞決定的一種隊(duì)列。
關(guān)聯(lián)式容器
集合(set):由節(jié)點(diǎn)組成的紅黑樹(shù),沒(méi)有兩個(gè)不同的元素能夠擁有相同的次序;
多重集合(multiset):允許存在兩個(gè)次序相等的元素的集合;
映射(map):由{鍵,值}對(duì)組成的集合;
多重映射(multimap):允許鍵對(duì)由相等的次序的映射

迭代器

?幾乎STL提供的所有算法都是通過(guò)迭代器存取元素序列進(jìn)行工作的,每一個(gè)容器都定義了其本身所專有的迭代器,用以存取容器中的元素。

看完上述內(nèi)容,你們對(duì)如何理解STL有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

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

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

stl
AI