size()
empty()
max_size()
capacity() :返回實際能容納的元素量
容量重要有兩個原因:
1.一但內存重新分配,vector元素相關的所有reference,pointer,iterator都會失效。
2.內存重新分配很耗時間。
reserve()保存適當容量,避免重新分配內存。
vector<T>(5)實參是個數值,它將成爲vector 的起始大小。
這種方法會很耗時,不如使用reserve()
不能使用reserve()縮減大小。
vector<Elem> c
vector<Elem> c(c2)
vector<Elem> c=c2
vector<Elem> c(n) 利用元素的default函數生成一個大小爲n的vector
vector<Elem> c(n,elem) 建立一個大小爲n的vector,每一個元素值都是elem
vector<Elem> c(beg,end) 以區間[beg,end)作爲元素初值
c.empty()
c.size()
c.max_size()
c.capacity()
c.reserve(num)
c1==c2
c1!=c2
c1<c2
c1>c2
c1<=c2
c1>=c2
賦值
c=c2
c.assign(n,elem) 複製n個elem,賦值給c
c.assign(beg,end)
c.assign(initlist) 將初值列initlist的所有元素賦值給c
c1.swap(c2) 置換c1和c2的數據
swap(c1,c2) 置換c1和c2的數據
c[idx] (不檢查範圍)
c.at(idx)(檢查範圍)
c.front()返回第一元素
c.back()返回最末元素
迭代器
c.begin()
c.end()
c.rbegin()
c.rend()
操作
c.push_back()
c.pop_back(elem)
c.insert(pos,elem) 在iterator 位置 pos之前方插入一個elem拷貝,並返回新元素的位置
c.insert(pos,n,elem) 插n個拷貝,並返回第一個新元素的位置
c.insert(pos,begin,end)
c.erase(pos) 一處iterator 位置pos上的元素 返回下一元素的位置
c.erase(beg,end)
c.resize(num) 將元素數量改爲num
c.resize(num,elem) 多出來的新元素是elem的拷貝
c.clear() 移除所有元素,將容器清空