容器

順序容器類型:
vector 支持快速隨機訪問
list 支持快速插入/刪除
deque 雙端隊列

容器元素初始化

C<T> c;
C<T> c(c2);
C<T> c(begin,end);
C<T> c(n,t);//順序容器
C<T> c(n); //順序容器,採用這種類型的初始化,元素類型必須是內置或複合類型,或者是提供了默認構造函數的類型。

容器內元素的類型約束

元素類型必須支持賦值運算;
元素類型的對象必須可以複製。
引用類型、IO標準庫類型、auto_ptr類型不支持複製或賦值,因此不能創建存放這些類型對象的容器。

容器定義的類型別名

類型別名 含義
size_type 無符號整形,足以存儲此容器類型的最大可能容器長度
iterator 此容器類型的迭代器類型
const_iterator 元素的只讀迭代器類型
reverse_iterator 元素的逆序迭代器類型
const_reverse_iterator 元素的只讀逆序迭代器類型
difference_type 足夠存儲倆個迭代器差值的有符號整型
value_type 元素類型
reference value_type&的同義詞,元素的左值類型
const_referrence const value_type&,元素的常量左值類型

begin和end

c.begin(),
c.end(),
c.rbegin(),它指向容器c的最後一個元素
c.rend(),他指向容器c的第一個元素前面的位置

不要存儲end()操作返回的迭代器。添加或刪除deque或vector容器內的元素都會導致存儲的迭代器失效。

容器大小操作

c.size()
c.max_size()
c.empty()
c.resize(n)
c.resize(n,t)

訪問容器元素

c.back()
c.front()
c[n]//只適用於vector和deque
c.at(n)//同上

刪除容器元素

c.erase(p)
c.erase(b,e)
c.clear()
c.pop_back()
c.pop_front()//只適用list和deque

容器賦值與swap

c1=c2
c1.swap(c2)

c.assign(b,e)
c.assign(n,t)

vector容器自增長

c.capacity()//容量
c.reserve()//告之容器應該預留多少存儲空間

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章