c++ vector 与数组
时间: 2023-12-12 08:34:10 浏览: 81
程序设计-C and C++的实现:第7章 数组与C++标准库类模板vector.pdf
c++中的vector和数组都是用来存储同一种类型的数据的容器,但是它们之间还是有很多区别的。下面是它们的一些相同点和不同点:
相同点:
- 都可以用下标操作进行处理
- 都可以用迭代器进行操作(在c++中每个容器都配有各自的迭代器)
- 都可以对同一种类型的数据进行储存
不同点:
- vector可以用size获取长度,而数组不可以
- 数组的长度在定义时就已经确定了,而vector的长度不固定,可以随时增加长度
- vector可以在末尾增加元素(用push_back),而数组不能增加在长度以外的元素
- 数组的长度可以确定,节约空间,而vector不能确定长度,必须在定义时定义一个很大的空间留给它,造成内存的浪费
下面是一个使用vector和数组的例子:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
// 使用数组
int arr[5] = {1, 2, 3, 4, 5};
for (int i = 0; i < 5; i++) {
cout << arr[i] << " ";
}
cout << endl;
// 使用vector
vector<int> vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
vec.push_back(4);
vec.push_back(5);
for (int i = 0; i < vec.size(); i++) {
cout << vec[i] << " ";
}
cout << endl;
return 0;
}
```
阅读全文