关于在示例中使用 C++ 向量需要了解的内容

C++ 向量是 STL(标准模板库)的一部分。STL 是可用于 C++ 的众多库之一,可提高应用程序的效率、灵活性和性能。向量非常有用,对于任何想要精通 C++ 的人来说都是一个重要的概念。

C++ 向量本质上是可用于存储数据的容器。它们使使用数组变得干净和快速,因此如果您希望开发 C++ 应用程序,那么了解如何使用 C++ 向量是一项宝贵的技能。继续阅读,我们将讨论您需要了解的有关 C++ 向量的所有信息。

C++ 向量是序列容器,是标准模板库的重要组成部分。如果需要,向量表示可以在运行时动态更改大小的数组。

与传统数组不同,您不需要显式管理向量的内存分配。vector 的容器会自动管理它的内存。您可以将 C++ 向量视为在添加或删除元素后自行调整的动态数组。

此外,向量连续排列其元素。这意味着您可以使用指针或迭代器轻松访问它们。

现在您已经熟悉了 C++ 向量是什么,您需要先了解它们的功能,然后才能开始在代码中使用它们。

当您使用 C++ 向量时,它将在差分时间的末尾插入新元素。这是因为,在某些情况下,向量必须扩展以容纳新元素。类似地,如果您要提取向量的最后一个元素,则向量不需要调整其长度(大小)将花费恒定的时间。

为了有效地使用向量,我们使用迭代器和内置函数。迭代器是与 C++ 向量一起使用的指针。它们简化了遍历向量容器的过程。有许多不同的向量函数,我们将在下一节中介绍一些重要的函数。

让我们看一下 C++ 向量中常用的一些迭代器和 STL 容器函数:

  • begin()返回一个指向向量第一个元素的迭代器指针。
  • end()返回一个指向向量容器后尾位置的迭代器指针。
  • rbegin()类似于begin(),但它为您提供了一个指向向量中最后一个元素的反向迭代器。
  • size()返回存储在向量中的元素计数。
  • max_size()返回向量容器可以容纳的元素的最大容量。
  • resize(x)将调整向量容器的大小,以便它可以容纳x 个元素。
  • 如果向量容器没有元素,empty()返回 true。
  • push_back()在末尾插入一个新元素到向量中。
  • pop_back()从向量容器的末尾提取一个元素。
  • insert()允许您在指定位置向向量添加元素。
  • 在 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++ 库,详细探索它可以帮助您创建更好的应用程序。

    标签: 编程 面向对象编程