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;
}
- vec1 是一个空的整型 vector,未添加任何元素。
- vec2 初始化了一个包含 3 个元素的 float vector,未指定初始值,因此使用默认值 0。
- vec3 初始化了一个包含 3 个 'a' 的字符 vector,第二个参数指定了所有元素的初始值。
- 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 才被认为是相等的。
