1. 程式人生 > >c++容器簡單總結(續)

c++容器簡單總結(續)

產生 效果 個數 sig 遍歷 capacity 最大 str 重新

操作

效果

vector<T> c

產生空的vector

vector<T> c1(c2)

產生同類型的c1,並將復制c2的所有元素

vector<T> c(n)

利用類型T的默認構造函數和拷貝構造函數生成一個大小為n的vector

vector<T> c(n,e)

產生一個大小為n的vector,每個元素都是e

vector<T> c(beg,end)

產生一個vector,以區間[beg,end]為元素初值

~vector<T>()

銷毀所有元素並釋放內存。

操作

效果

c.size()

返回元素個數

c.empty()

判斷容器是否為空

c.max_size()

返回元素最大可能數量(固定值)

c.capacity()

返回重新分配空間前可容納的最大元素數量

c.reserve(n)

擴大容量為n

c1==c2

判斷c1是否等於c2

c1!=c2

判斷c1是否不等於c2

c1<c2

判斷c1是否小於c2

c1>c2

判斷c1是否大於c2

c1<=c2

判斷c1是否大於等於c2

c1>=c2

判斷c1是否小於等於c2

操作

效果

c1 = c2

將c2的全部元素賦值給c1

c.assign(n,e)

將元素e的n個拷貝賦值給c

c.assign(beg,end)

將區間[beg;end]的元素賦值給c

c1.swap(c2)

將c1和c2元素互換

swap(c1,c2)

同上,全局函數

操作

效果

at(idx)

返回索引idx所標識的元素的引用,進行越界檢查

operator [](idx)

返回索引idx所標識的元素的引用,不進行越界檢查

front()

返回第一個元素的引用,不檢查元素是否存在

back()

返回最後一個元素的引用,不檢查元素是否存在

                  叠代器相關函數

操作

效果

begin()

返回一個叠代器,指向第一個元素

end()

返回一個叠代器,指向最後一個元素之後

rbegin()

返回一個逆向叠代器,指向逆向遍歷的第一個元素

rend()

返回一個逆向叠代器,指向逆向遍歷的最後一個元素

                  安插元素

操作

效果

c.insert(pos,e)

在pos位置插入元素e的副本,並返回新元素位置

c.insert(pos,n,e)

在pos位置插入n個元素e的副本

c.insert(pos,beg,end)

在pos位置插入區間[beg;end]內所有元素的副本

c.push_back(e)

在尾部添加一個元素e的副本

c++容器簡單總結(續)