请详细讲述c++面对对象的vector
时间: 2023-11-12 08:28:51 浏览: 30
在C++中,vector是一个动态数组,也是一个类模板(class template),它是标准模板库(STL)中的一部分。vector类定义在头文件<vector>中。
使用vector需要先包含头文件<vector>,然后定义一个vector对象,可以指定元素类型,也可以使用模板参数推导自动推断元素类型。例如:
```c++
#include <vector>
using namespace std;
// 定义一个vector对象,存储整数类型
vector<int> vec1;
// 定义一个vector对象,存储字符串类型
vector<string> vec2;
```
vector是一个动态数组,可以在运行时动态地分配和释放内存,也可以动态地添加或删除元素。例如,可以使用push_back()函数在vector的末尾添加元素:
```c++
vector<int> vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
```
也可以使用pop_back()函数在vector的末尾删除元素:
```c++
vector<int> vec{ 1, 2, 3 };
vec.pop_back();
```
vector提供了方便的数组访问方法和操作函数,例如,可以使用下标运算符[]访问vector中的元素:
```c++
vector<int> vec{ 1, 2, 3 };
int x = vec[0]; // 访问第一个元素
```
也可以使用at()函数访问vector中的元素,at()函数会进行越界检查:
```c++
vector<int> vec{ 1, 2, 3 };
int x = vec.at(0); // 访问第一个元素
```
vector还提供了很多其他的操作函数,例如,可以使用size()函数获取vector中的元素个数,使用empty()函数判断vector是否为空,使用clear()函数清空vector中的所有元素,使用insert()函数在指定位置插入元素,使用erase()函数删除指定位置的元素等等。
总之,vector是C++面向对象编程思想中的容器类,它提供了方便的动态数组操作方法,可以大大简化程序的编写,提高程序的效率和可读性。