C 中vector的重要特點 物件動態增長

2021-07-31 09:53:06 字數 653 閱讀 4187

vector物件(以及其它標準容器庫物件)的重要屬性就是可以在執行時高效地新增元素。因為vector增長的效率高,在元素值已知的情況下,最好是動態地新增元素。

所以雖然可以對給定元素葛素的vector物件預先分配記憶體,但是更加高效地方法就是先初始化乙個空的vector物件,然後再動態地增加元素。

而vector能夠在執行時高效地新增元素的原因就是push_back操作:

v.push_back(t)  在v的末尾新增乙個值為t的元素

例:string word;

vectortext;

while(cin >> word)

該迴圈從標準輸入讀取一系列string物件,逐一追加到vector物件的後面。首先定義乙個空的vector物件text,每迴圈一次就新增乙個新元素到vector物件,並將輸入讀取的word值賦予該元素。

如果說vector就相當於我們平時使用的陣列的話,就不得不提到迭代器(iterator),相當於平時使用的指標操作,迭代器是標準庫提供的一種訪問 vector 元素的方法,標準庫為每一種標準容器型別(vector是其中一種)

定義了一種迭代器型別,如vector:

vector::iterator iter

但是只有少數的容器支援下標操作。所以c++程式更傾向於私用迭代器而不是下標操作訪問容器元素。

C 物件導向的特點

物件導向的特點主要有 封裝,繼承,多型 現在自己的簡單理解如下,但要明白具體怎麼實現,背後的原理是什麼?什麼是封裝,c 怎麼實現封裝 封裝的大致可以分為 函式的封裝和類的封裝,函式的封裝相當於把各個功能模組寫成乙個函式,從上到下依次呼叫 更官方的說法是 封裝將事物擁有的屬性和動作隱藏起來,只保留特定...

C 物件導向的特點

物件導向的特點主要有 封裝,繼承,多型 現在自己的簡單理解如下,但要明白具體怎麼實現,背後的原理是什麼?什麼是封裝,c 怎麼實現封裝 封裝的大致可以分為 函式的封裝和類的封裝,函式的封裝相當於把各個功能模組寫成乙個函式,從上到下依次呼叫 更官方的說法是 封裝將事物擁有的屬性和動作隱藏起來,只保留特定...

C 中的vector容器物件學習筆記

c 中陣列很坑,有沒有類似python中list的資料型別呢?類似的就是vector!vector 是同一種型別的物件的集合 每個物件都有乙個對應的整數索引值。和 string 物件一樣,標準庫將負責管理與儲存元素相關的記憶體。我們把 vector 稱為容器,是因為它可以包含其他物件 乙個容器中的所...