STL库的应用
?
容器分為兩類:序列式容器和關聯式容器。
序列式容器,其中的元素不一定有序,但都可以被排序。如:vector、list、deque、stack、queue、heap、priority_queue、slist;
關聯式容器,內部結構基本上是一顆平衡二叉樹。所謂關聯,指每個元素都有一個鍵值和一個實值,元素按照一定的規則存放。如:RB-tree、set、map、multiset、multimap、hashtable、hash_set、hash_map、hash_multiset、hash_multimap。
舉例:
vector:它是一個動態分配存儲空間的容器。區別于c++中的array,array分配的空間是靜態的,分配之后不能被改變,而vector會自動重分配(擴展)空間。
set:其內部元素會根據元素的鍵值自動被排序。區別于map,它的鍵值就是實值,而map可以同時擁有不同的鍵值和實值。
算法,如排序,復制……以及個容器特定的算法。這點不用過多介紹,主要看下面迭代器的內容。
迭代器是STL的精髓,我們這樣描述它:迭代器提供了一種方法,使它能夠按照順序訪問某個容器所含的各個元素,但無需暴露該容器的內部結構。它將容器和算法分開,好讓這二者獨立設計。
C++字符串操作詳解(整理)
C++中數組與STL中vector和array的比較
標準C++中的string類的用法總結
STL之vector的用法
轉載于:https://www.cnblogs.com/AndrewYin/p/9234914.html
總結
- 上一篇: cassandra连不上,报Stop l
- 下一篇: WebDriver API 元素定位(三