stl(standard template library,標準模板庫)
初始化:int values
引入 range-based for 迴圈:
for (decl: coll)
forward_list,單向鍊錶實現
2、關聯式容器(associative container),已排序的集合,大都有二叉樹實現,每個節點有乙個父和兩個子,
優點是能快速查詢出某個元素的值。有 4 個
set, 元素按 value 自動排序,不重複
multiset, 元素按 value 自動排序,可重複
map,每個元素都是 key/value pair,其中 key 是排序項,不重複
multimap,每個元素都是 key/value pair,其中 key 是排序項,可重複
3、無序容器(unordered container),無序集合,常由 hash table 實現出來。
有 4 個 unordered_set, unordered_multiset, unordered_map 和 unorderd_multimap
4、其它容器,string
5、容器介面卡,在上面基本容器基礎上實現的,如 stack, queue, priority queue
迭代器是乙個「可遍歷 stl 容器全部或部分元素」的物件。迭代器用來表現容器中的某個位置。基本操作如下:
> operator * ,返回當前位置上的元素值。
> operator ++,下乙個位置
> operator ==,判斷兩個迭代器是否指向同一位置
> operator =,對迭代器賦值
這與 pointer 一樣的功能,不同的是迭代器是 smart pointer,具有遍歷複雜資料結構的能力,其內部運作機制取決於其所遍歷的資料結構。因此,每一種容器都必須提供自己的迭代器,而且介面基本相同。
如 begin() 和 end() 返回迭代器。
for (auto pos = coll.begin(); pos != coll.end(); ++pos) {} ++pos 比 pos++ 更高效,後者需要乙個臨時物件
演算法並非容器類的成員函式,而是一種搭配迭代器使用的全域性函式。
所有演算法都是用來處理乙個或多個區間內的元素,需要保證區間是有效的,從起點能到達終點。是半開區間,不包含尾部元素的 [begin, end)
迭代器是乙個純抽象概念。可以撰寫一些類具備迭代器介面。
insert iterator
函式物件
C 11標準庫thread簡介
1.建立執行緒物件 1 不代表任何執行執行緒的物件 thread noexcept 2 fn為可呼叫物件 函式 仿函式 過載 運算子的類 初始化為 class lame表示式 args為與之同步的一包引數列表 備註 類的成員函式作為可呼叫物件時,第一引數必須是該成員函式的位址,第二引數應為該類。仿函...
C 標準庫 C 11新特性
c 定義了nullptr以取代0或者null。nullptr是std nullptr t型別的 constexpr 變數。std nullptr t可以顯式或隱式地轉換為任何指標 包括類的成員函式指標 但不能顯式或隱式地轉換為任何其他型別。range based for迴圈 類似於別的語言中的for...
C 11 新標準學習記錄1
1.long long 型別,c primer 第五版中 說long long 是c 11 中新定義的人。我在使用xp 32位 vs2005 時,發現也有long long 型別,並且是8位元組的,應該是編譯器提供的一型別.2,列表初始化,對於內建變數,現在可以支援四種初始化方式 int i 0 i...