C++ 中vector的重要特点——对象动态增长
2017-05-01 02:23
190 查看
随笔- 9 文章- 0 评论- 0
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++程序更倾向于私用迭代器而不是下标操作访问容器元素。
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++程序更倾向于私用迭代器而不是下标操作访问容器元素。
相关文章推荐
- C++ 中vector的重要特点——对象动态增长
- C++ 中vector的重要特点——对象动态增长
- C++ 中vector的重要特点——对象动态增长
- C++ 中vector的重要特点——对象动态增长
- C++ 中vector的重要特点——对象动态增长
- Java之Vector向量类实现自动动态增长的对象数组-类似动态数组
- [c++面试准备]--vector对象是如何增长的
- 20110330-3.3-关键概念:vector对象动态增长
- vector对象的定义和初始化 动态增长
- 动态创建一个与该 vector 对象大小一致的数组,把 vector 对象的所有元素复制给新数组_初学vector对象4
- c++ vector数组对象的使用
- 【C++ STL】细数C++ STL 的那些事---vector (动态数组)
- c++ vector的容量增长方式
- 为什么对象如此重要----C++学习笔记之一
- c++中静态和动态生存期对象的时钟程序运行问题
- C++基础之:对象的静态类型和动态类型
- C++动态对象强制类型转换
- 使用C++ vector类创建动态数组
- C++动态对象强制类型转换
- 让C++变得更加容易:vector的增长机理