使用 C++ 初始化 STL 中的向量

C++C++Beginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将学习在 C++ 中初始化向量的不同方法。我们将涵盖以下方法:


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") subgraph Lab Skills cpp/for_loop -.-> lab-96167{{"使用 C++ 初始化 STL 中的向量"}} cpp/output -.-> lab-96167{{"使用 C++ 初始化 STL 中的向量"}} cpp/standard_containers -.-> lab-96167{{"使用 C++ 初始化 STL 中的向量"}} end

使用 push_back() 方法

push_back() 方法用于动态地向向量中逐个插入元素。该方法会将向量的大小增加一,并将新元素插入到向量的末尾。

#include<iostream>
#include<bits/stdc++.h>

using namespace std;

int main()
{
    cout << "Using push_back() method\n\n";

    // 创建一个空向量
    vector<int> v;

    // 使用 push_back() 向向量中插入元素
    v.push_back(1);
    v.push_back(2);
    v.push_back(3);

    // 打印向量
    cout << "The elements of the vector are: ";

    for (int i : v)
    {
        cout << i << " ";
    }

    cout << "\n\n\n";

    return 0;
}

要编译并运行上述代码,请打开终端并导航到文件所在位置 ~/project。输入以下命令以编译并运行程序:

g++ main.cpp -o main && ./main

使用特定值初始化所有元素

我们可以使用以下构造函数将向量中的所有元素初始化为特定值:

vector<int> v1(n, value);

其中,n 表示我们想要初始化的元素数量,value 表示所有元素将被初始化的值。

#include<iostream>
#include<bits/stdc++.h>

using namespace std;

int main()
{
    cout << "Initializing all the elements with a specific value\n\n";

    // 创建一个大小为 5 的向量,所有元素初始化为 10
    vector<int> v1(5, 10);

    // 打印向量
    cout << "The elements of the vector are: ";

    for (int i : v1)
    {
        cout << i << " ";
    }

    cout << "\n\n\n";

    return 0;
}

要编译并运行上述代码,请打开终端并导航到文件所在位置 ~/project。输入以下命令以编译并运行程序:

g++ main.cpp -o main && ./main

总结

在本实验中,我们学习了如何使用 push_back() 方法和构造函数在 C++ 中初始化向量的不同方式。我们了解了向量相对于数组的优势,包括其动态大小和自动调整大小的能力。我们还通过 C++ 代码演示了如何理解和实现上述方法。现在,你可以使用这些方法编写自己的代码来初始化 C++ 中的向量。