stl 元件主要包括容器,迭代器、演算法和仿函式。stl 基本結構和 stl 元件對應。
stl 主要由迭代器、演算法、容器、仿函式、記憶體配置器和配接器六部分組成,可幫助程式設計師完成許多功能完善、形式多樣的程式。
stl 是 c++ 標準程式庫的核心。stl 內的所有元件都由模板構成,其元素可以是任意型別。
stl 元件主要包括容器,迭代器、演算法和仿函式。
容器即用來儲存並管理某類物件的集合。例如魚缸是用來盛放金魚的容器。
每一種容器都有其優點和缺點。為滿足程式的各種需求,stl 準備了多種容器型別,容器可以是 arrays 或是 linked lists,或者每個元素有特別的鍵值。
迭代器用於在乙個物件群集的元素上進行遍歷動作。物件群集可能是容器,也可能是容器的一部分。
迭代器的主要用途是為容器提供一組很小的公共介面。利用這個介面,某項操作可以行進至群集內的下乙個元素。
每種容器都提供了各自的迭代器。迭代器了解該容器的內部結構,所以能夠正確行進。迭代器的介面和一般指標類似。
演算法用來處理群集內的元素,可以出於不同目的搜尋、排序、修改、使用那些元素。所有容器的迭代器都提供一致的介面,通過迭代器的協助,演算法程式可以用於任意容器。
stl 的乙個特性是將資料和操作分離。資料由容器類別加以管理,操作則由可定製的演算法定義。迭代器在兩者之間充當「粘合劑」,以使演算法可以和容器互動運作。
stl 的另乙個特性即元件可以針對任意型別運作。「標準模板庫」這一名稱即表示「可接受任意型別」的模板,並且這些型別均可執行必要操作。
在 stl 中,容器又分為序列式容器和關聯式容器兩大類,而迭代器的功能主要是遍歷容器內全部或部分元素的物件。迭代器可劃分為 5 種類屬,這 5 種類屬歸屬兩種型別:雙向迭代器和隨機訪問迭代器。
sil 中提供的演算法包括搜尋、排序、複製、重新排序、修改、數值運算等。
容器stl 包含諸多容器類。容器類是可以包含其他物件的類,就像陣列和佇列堆疊等資料結構包含整數、小數、類等資料成員一樣。stl 可以包含常見的向量類、鍊錶類、雙向佇列類、集合類、圖類等,每個類都是一種模板,這些模板可以包含各種型別的物件。
目前,stl 中已經提供的容器主要如下:
容器可以分為序列式容器和關聯式容器兩大類。序列式容器主要有 vector、list 和 deque;關聯式容器包括 set、map、multiset 和 multimap 等容器模板類。
演算法stl 提供了非常多的資料結構演算法。這些演算法在命名空間 std 的範圍內定義,通過包含標頭檔案 來獲得使用權。
常見的部分演算法如下:
迭代器通俗來講,迭代器就是指示器。迭代器技術能夠使程式非常快捷地實現對 stl 容器中內容的反覆訪問。反覆訪問意味著一次可以訪問乙個或多個元素。
迭代器為訪問容器提供了通用的方法,類似於 c++ 的指標。當引數化型別是 c++ 內部型別時,迭代器即 c++ 指標。
stl 定義了 5 種型別的指示器,並根據其使用方法予以命名。每種容器都支援某種類別的迭代器。常見的迭代器包括輸入、輸出、前向、雙向和隨機接入等類別:
迭代器的誕生使演算法和容器分離成為可能。演算法是模板,其型別依賴於迭代器,不會侷限於單一容器。不同的 stl 演算法需要不同型別的迭代器來實現相應的功能。因為不同型別的 stl 容器支援不同型別的迭代器,所以不能對所有容器使用相同的演算法
ms touch action是什麼呢
規定使用者能否以及如何操作頁面上的指定區域 注意 在ie11使用屬性,在ie10應使用 ms touch action,ie10之前的瀏覽器不支援 語法 touch acion auto none pan x pan y pinch zoom manipulation double tap zoom...
IPO是什麼呢?
ipo initial public offering 首次公開募股,指的是一家企業或者是股份 將自己的股份第一次向大眾 在這之前,有限責任公司需要將自己的公司身份轉變為股份 一般來說,在公司ipo之後,該公司就可以在 交易所或者是 系統申請掛牌交易。好處募集資金,吸引投資者 增強流通性 提高知名度...
cookies是什麼呢?
cookies現在經常被大家提到,那麼到底什麼是cookies,它有什麼作用呢?cookies是資料報,可以讓網頁具有記憶功能,在某台電腦上記憶一定的資訊。cookies的工作原理是,第一次由伺服器端寫入到客戶端的系統中。以後每次訪問這個網頁,都是先由客戶端將cookies傳送到伺服器端,再由伺服器...