C++ 向量是 STL(标准模板库)的一部分。STL 是可用于 C++ 的众多库之一,可提高应用程序的效率、灵活性和性能。向量非常有用,对于任何想要精通 C++ 的人来说都是一个重要的概念。
C++ 向量本质上是可用于存储数据的容器。它们使使用数组变得干净和快速,因此如果您希望开发 C++ 应用程序,那么了解如何使用 C++ 向量是一项宝贵的技能。继续阅读,我们将讨论您需要了解的有关 C++ 向量的所有信息。
C++ 向量是序列容器,是标准模板库的重要组成部分。如果需要,向量表示可以在运行时动态更改大小的数组。
与传统数组不同,您不需要显式管理向量的内存分配。vector 的容器会自动管理它的内存。您可以将 C++ 向量视为在添加或删除元素后自行调整的动态数组。
此外,向量连续排列其元素。这意味着您可以使用指针或迭代器轻松访问它们。
现在您已经熟悉了 C++ 向量是什么,您需要先了解它们的功能,然后才能开始在代码中使用它们。
当您使用 C++ 向量时,它将在差分时间的末尾插入新元素。这是因为,在某些情况下,向量必须扩展以容纳新元素。类似地,如果您要提取向量的最后一个元素,则向量不需要调整其长度(大小)将花费恒定的时间。
为了有效地使用向量,我们使用迭代器和内置函数。迭代器是与 C++ 向量一起使用的指针。它们简化了遍历向量容器的过程。有许多不同的向量函数,我们将在下一节中介绍一些重要的函数。
让我们看一下 C++ 向量中常用的一些迭代器和 STL 容器函数:
在 C++ 中使用向量可以灵活快速地使用数组进行编码。让我们看一些使用 C++ 向量的示例代码。
#include<vector>
#include<iostream>
using namespace std;
void main()
{
vector<int> arr;
// push_back to add elements to end of our container
arr.push_back(10);
arr.push_back(5);
arr.push_back(20);
// vector now contains [10,5,20]
// use begin() iterator to traverse container until end() pointer
cout << "begin() and end() iterators: ";
for (auto j = arr.begin(); j != arr.end(); j++)
{
cout << *j << ' ';
}
// Expected output: 10 5 20
// rbegin() and rend() used to reverse traverse vector container
cout << "rbegin() and rend() iterators: ";
for (auto j = arr.rbegin(); j != arr.rend(); j++)
{
cout << *j << ' ';
}
// Expected output: 20 5 10
cout << "The size of array is: " << arr.size() << endl;
// Expected output: The size of array is: 3
// Resize array to have only 2 elements
arr.resize(2);
cout << "The size of array is: " << arr.size() << endl;
// Expected output: The size of array is: 2
cout << "MaxSize(): " << arr.max_size() << endl;
cout << "Vector Empty? " << arr.empty() << endl;
// pop_back last element
arr.pop_back();
// insert 5 at beginning of array
arr.insert(arr.begin(), 5);
}
C++ 向量既灵活又强大,这就是为什么它们是每个 C++ 开发人员必不可少的功能。STL 是一个重要的 C++ 库,详细探索它可以帮助您创建更好的应用程序。