c++容器簡單總結(續)
操作 |
效果 |
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++容器簡單總結(續)