📅  最后修改于: 2023-12-03 15:07:13.347000             🧑  作者: Mango
向量是C++中的一个容器,用于存储一定数量的元素。在使用向量的过程中,可能需要进行初始化。本文将介绍向量的初始化方式。
向量对象默认会被初始化为空的向量对象。
#include <vector>
using namespace std;
int main()
{
vector<int> vec; // 默认初始化一个空的 int 向量
return 0;
}
为了初始化一个包含指定数目元素的向量对象,可以使用以下语法:
#include <vector>
using namespace std;
int main()
{
vector<int> vec(10); // 初始化一个包含10个元素的 int 向量
return 0;
}
在上面的例子中,向量对象 vec
会被初始化为一个具有10个默认值为0的int元素的向量对象。
有时候,需要为向量对象的每个元素指定一个特定的值。可以使用以下语法:
#include <vector>
using namespace std;
int main()
{
vector<int> vec(10, 42); // 初始化一个包含10个值为42的 int 向量
return 0;
}
在上面的例子中,向量对象 vec
会被初始化为一个具有10个值为42的int元素的向量对象。
可以使用一个向量对象来初始化另一个向量对象。新向量与原向量包含相同的元素,顺序保持不变。
#include <vector>
using namespace std;
int main()
{
vector<int> orig_vec(10, 1); // 初始化一个包含10个值为1的 int 向量
vector<int> new_vec(orig_vec); // 使用 orig_vec 初始化 new_vec
return 0;
}
在上面的例子中,向量对象 new_vec
与向量对象 orig_vec
包含相同的10个int元素,可能在内部分配内存之后具有不同的地址。
在C++11规范中,可以使用初始化列表初始化向量对象。
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3}; // 使用{1, 2, 3}初始化一个 int 向量
return 0;
}
在上面的例子中,向量对象 vec
会被初始化为一个包含3个int元素的向量对象,这3个元素分别是1、2和3,这是使用标准提供的初始化列表语法实现的。
在本文中,介绍了C++中向量对象的不同初始化方式。这些方式包括默认初始化、元素数量的初始化、指定元素值的初始化、使用其它向量对象初始化和使用初始化列表初始化。C++程序员必须清楚这些初始化方式,以便正确地使用向量对象。