12 C 標準庫中STL體系結構

2021-08-10 23:31:58 字數 782 閱讀 7297

通常所說的c++的stl是指標準模板庫,只要安裝了c++的編譯器就會存在。其範圍比c++標準庫要小,主要包括六大部件:容器containers、分配器allocators、演算法algorithms、迭代器iterators、介面卡adapter以及仿函式functors,下面對著6大部件。做乙個簡單的解釋。

容器是用來儲存資料的,資料可以試使用者自定義的類,也可以試預定義的型別。c++中的容器主要使用有array、vector、list、set、map等,這些都是已經封裝好的,包含在相應的標頭檔案中。可以通過迭代器iterator來訪問容器的資料。

stl中的容器裡都有分配器,在宣告乙個容器的模板第二個引數就是分配器。分配器是用來給容器分配記憶體的,在一般情況下,使用預設的分配器即可(在宣告容器的時候,不寫第二引數),在此先不做詳細介紹。

在stl中要實現容器中資料的操作如排序、查詢等,都需要相應的演算法來實現。而stl中的容器已經由編寫標準庫的人寫好很多演算法,我們直接拿過來用就可以。

迭代器在stl中用來將演算法和容器聯絡起來,起著一種膠著劑的作用。迭代器是一種檢查容器內元素並遍歷元素的資料型別。迭代器是一種行為類似指標的物件,它提供類似指標的功能,對容器的內容進行走訪。

分配器是用來變換物件的。在stl中有容器分配器、迭代器分配器、仿函式分配器,具體使用時可以物件進行相應的轉換。

就是使乙個類的使用看上去象乙個函式。其實現就是類中實現乙個operator(),這個類就有了類似函式的行為,就是乙個仿函式類了。

Oracle體系結構中基本概念,資料庫

在oracle體系結構中包含了基本概念即oracle資料庫與例項,如果你想要了解oracle體系結構的話,你就必須要了解這兩個基本的概念,以下是文章的具體介紹,望你瀏覽完以下的內容會有所收穫。資料庫 database 是乙個資料集合.無論資料庫是採用關係結構還是物件導向結構,oracle資料庫都將其...

C 標準模板庫STL中棧 佇列用法

佇列 queue 使用之前需引入標頭檔案 stack 將乙個新元素壓入棧中。如果棧不為空,彈出棧頂元素 返回棧頂元素的引用,如果棧為空,結果未定義,返回的是乙個引用。返回棧中元素個數。判斷棧是否為空,若為空返回true,否則返回false。使用之前需引入標頭檔案 queue 將乙個新元素追加到佇列末...

資料結構3 C 標準模板庫STL中的寶貝

目錄 資料結構3 c 標準庫 1.stack 2.queue 3.vector 4.list 總結 在很多程式語言中,演算法與資料結構的相關類和函式都與輸入輸出,字串等一同加入了庫,我們可以直接從庫中呼叫。但是在使用之前,我們不但要了解庫的特徵和複雜度,還要將其有效運用至更高的演算法與資料結構之中。...