21xrx.com
2024-11-10 00:30:58 Sunday
登录
文章检索 我的文章 写文章
C++ vector 类详解
2023-07-05 09:30:35 深夜i     --     --
C++ vector类 详解

C++ vector类是C++标准库的一个类模板,用于实现动态数组,可以在运行时动态增加数组大小。本文将详细介绍vector类的使用方法和特性。

vector类的基本特性

1. vector类的定义格式:

  template \ \> class vector;

2. vector类的成员函数:

  - front():返回vector的第一个元素

  - back():返回vector的最后一个元素

  - push_back():向vector的末尾插入一个元素

  - pop_back():删除vector的最后一个元素

  - size():返回vector的元素个数

  - empty():判断vector是否为空

  - clear():清空vector

3. vector类的构造函数:

  - vector():创建一个空的vector

  - vector(int n):创建一个大小为n的vector

  - vector(int n, const T& val):创建一个大小为n的vector,且每个元素都是val

  - vector(const vector& vec):创建一个新的vector,其元素与vec相同

  - vector(iterator first, iterator last):创建一个从first到last中的元素构成的vector

4. vector类的迭代器:

  - begin():返回指向vector第一个元素的迭代器

  - end():返回指向vector最后一个元素的下一个位置的迭代器

  - rbegin():返回指向vector最后一个元素的迭代器

  - rend():返回指向vector第一个元素的前一个位置的迭代器

vector类的使用方法

下面是一个示例程序,演示如何使用vector类:


#include <iostream>

#include <vector>

using namespace std;

int main() {

 vector<int> v;

 v.push_back(10);

 v.push_back(20);

 v.push_back(30);

 cout << "Vector size: " << v.size() << endl;

 cout << "Vector elements: ";

 for (auto i = v.begin(); i != v.end(); ++i) {

  cout << *i << " ";

 }

 cout << endl;

 v.pop_back();

 cout << "Vector size: " << v.size() << endl;

 cout << "Vector elements: ";

 for (auto i = v.begin(); i != v.end(); ++i) {

  cout << *i << " ";

 }

 cout << endl;

 v.clear();

 cout << "Vector size after clear: " << v.size() << endl;

}

输出结果:


Vector size: 3

Vector elements: 10 20 30

Vector size: 2

Vector elements: 10 20

Vector size after clear: 0

在上面的示例程序中,我们定义了一个vector对象v,并使用push_back()函数向其添加元素。我们使用size()函数来获取vector的元素个数,使用begin()和end()函数迭代输出v中的元素。然后,我们使用pop_back()函数删除v的最后一个元素,并再次输出v,确保元素已被删除。最后,我们使用clear()函数清空v,并使用size()函数检查v的元素数量是否为0。

总结

vector类是C++标准库提供的一个非常实用的类模板,用于实现动态数组。在使用vector时,我们可以依靠其丰富的成员函数和迭代器,轻松地添加、删除、获取元素。希望读者能够通过本文更深入地了解vector类,从而更加熟练地运用它。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复