C++ 中vector的重要特點——對象動態增長


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

所以雖然可以對給定元素葛素的vector對象預先分配內存,但是更加高效地方法就是先初始化一個空的vector對象,然后再動態地增加元素。

而vector能夠在運行時高效地添加元素的原因就是push_back操作:

                v.push_back(t)  在v的末尾添加一個值為t的元素

例:


 

string word;

vector<string> text;

while(cin >> word) {

      text.push_back(word);

}


該循環從標准輸入讀取一系列string對象,逐一追加到vector對象的后面。首先定義一個空的vector對象text,每循環一次就添加一個新元素到vector對象,並將輸入讀取的word值賦予該元素。

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

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

               vector<int> ::iterator iter

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM