STL vector的一些API詳解

2021-09-26 18:30:15 字數 1563 閱讀 7646

在容器(一)中有簡單介紹我們的vector容器。在本節,主要講解關於vector的一些api。vector是我們stl中的一種順序容器,它的底層是用陣列實現的,所以vector的記憶體無論是在物理上還是在邏輯上都是連續的。它也可以像陣列一樣進行操作,例如按照下標訪問元素,vectorvec(1,0);  vec[0];訪問0號下標的元素。

另外,那對於vector還有哪些我們常用的操作呢?本節進行了詳解;特別要注意對於vector大小操作的一組函式。區分size()和capacity()的區別,以及所對應的resize()和reserve()函式。還有這些容器的實現基本都是用模板進行實現的,所以它可以接收不同的型別。也就是實現了泛型。

重點掌握vector的擴容機制(容器(一)中有介紹);還有關於vector的大小這部分;

插入和刪除:

push_back(elem);//尾插

pop_back();//尾刪

insert(pos,elem);//按位置插入

erase(start,end);//刪除區間裡的所有元素

erase(index);//刪除index索引所指向的元素

clear();//刪除所有元素

size和capacity

empty();//判空

size();//獲取容器當前擁有的元素個數

resize(len);//重新指定容器的長度,若容器變長,則以預設值填充新位置。如果容器變短,則末尾超出容器長度的元素被刪除。

resize(len,elem);//以elem去填充擴充套件後的空間

capacity();//獲取容器在必須分配新儲存空間之前可以儲存的元素總數。也可以說是預分配儲存空間的大小。

reserve(len);//容器預留len個元素長度,預留位置不初始化,元素不可訪問

//reserve()函式和容器的capacity息息相關。

//呼叫reserve(len)後,若容器的capacityvector資料的訪問操作

at(int index); //返回索引index所指的資料,如果index越界,丟擲out_of_range異常。

operator[index];//返回索引index所指的資料,越界時,執行直接報錯

front();//返回容器中第乙個資料元素

back();//返回容器中最後乙個資料元素

vector的簡單使用:

int main()

{ vectorvec(10);//申請10個空間,預設初始化為0

//容器預留len個元素長度,預留位置不初始化,元素不可訪問

//reserve()函式和容器的capacity息息相關。

//呼叫reserve(n)後,若容器的capacity結果展示:

物件的一些API

object.getprototypeof obj object.create obj 建立乙個空物件並把空物件的原型指向obj object.getownpropertydescriptor obj,屬性名 返回乙個新物件與原來的屬性標籤沒有了聯絡 object.getownpropertynam...

File類的一些api

寫了一天的檔案操作,熟悉了些api,記下 mkdir和mkdirs的區別 建立此抽象路徑名指定的目錄。mkdirs 建立此抽象路徑名指定的目錄,包括建立必需但不存在的父目錄。file m new file a b m.mkdir 因為不存在a目錄,所以不能建立b目錄 list 與 listfiles...

一些ios介面api

天氣介面 介面 詞語2012 12 20 10 11 網 拍拍 財付通 百付寶 115 有道api介面引數說明 返回xml格式 13892101112 陝西延安 或者手機號碼 返回json格式 fyodaocallback 1,舉例 mobile 15018788111 要查詢的 號碼 conten...