您的位置:首页 - 教程 - C++ - 正文
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++程序更倾向于私用迭代器而不是下标操作访问容器元素。


评论: