Vector 的初始化 #

#include<iostream>
#include<vector>
using namespace std;

// Vector 的初始化示例

int main()
{
    vector<int> vec1; // 空的整型 vector
    vector<float> vec2(3); // 包含 3 个元素的 float vector,默认初始化为 0
    vector<char> vec3(3, 'a'); // 包含 3 个 'a' 的字符 vector
    vector<char> vec4(vec3); // 通过拷贝 vec3 初始化 vec4
    return 0;
}
  1. vec1 是一个空的整型 vector,未添加任何元素。
  2. vec2 初始化了一个包含 3 个元素的 float vector,未指定初始值,因此使用默认值 0。
  3. vec3 初始化了一个包含 3 个 'a' 的字符 vector,第二个参数指定了所有元素的初始值。
  4. vec4 通过拷贝 vec3 的元素进行初始化,两者元素完全相同。

获取 Vector 的长度 #

使用 vec1.size() 可以获取 vector 中元素的数量。

向 Vector 添加元素 #

可以使用 vec1.push_back(1)vec1[i] = 1 向 vector 中添加元素。

push_back() 每次会在 vector 的末尾添加一个元素。

判断 Vector 是否为空 #

使用 vec1.empty() 可以判断 vector 是否为空。如果 vector 为空,返回 true,否则返回 false

移除 Vector 中的元素 #

使用 vec1.pop_back() 可以移除 vector 中的最后一个元素。

注意:如果 vector 为空,使用 pop_back() 会导致未定义行为。因此,在调用 pop_back() 之前,应使用 empty() 确保 vector 不为空。

Vector 的相等判断与赋值 #

#include<iostream>
#include<vector>
using namespace std;

// Vector 相等判断与赋值示例

int main()
{
    vector<int> vec1(3, 2); // 包含 3 个元素,每个元素初始化为 2
    vector<int> vec2; // 空的整型 vector

    if (vec1 == vec2)
    {
        cout << "vec1 与 vec2 相等" << endl;
    }

    vec2 = vec1; // 将 vec1 赋值给 vec2

    cout << "赋值后" << endl;
    if (vec1 == vec2)
    {
        cout << "vec1 与 vec2 相等" << endl;
    }

    return 0;
}

注意:vector 的赋值操作会将一个 vector 的所有元素复制到另一个 vector 中,并替换目标 vector 的所有元素。vector 的相等判断是通过逐个比较元素来完成的,只有当所有元素都相等时,两个 vector 才被认为是相等的。