C++ vector 如何初始化
时间: 2024-09-10 17:28:57 浏览: 75
在C++中,vector
是标准模板库(STL)中的一个动态数组容器,它可以在运行时动态地调整大小。vector
的初始化可以通过多种方式进行,下面列举了其中一些常见的方法:
默认初始化(空vector):
std::vector<int> vec;
这行代码创建了一个名为
vec
的空vector
,它不包含任何元素。直接初始化(指定大小和初始值):
std::vector<int> vec(n, val);
这里
n
是vector
的大小,val
是用于初始化每个元素的值。这会创建一个包含n
个元素的vector
,每个元素都被初始化为val
。使用范围初始化(从另一个容器或数组复制元素):
std::vector<int> vec2(vec1.begin(), vec1.end()); std::vector<int> vec3({1, 2, 3, 4, 5}); // 初始化列表
vec2
将从vec1
的迭代器范围(包含begin()
,不包含end()
)复制元素。vec3
使用初始化列表创建vector
,包含列表中的元素。使用列表初始化(C++11起支持):
std::vector<int> vec4{1, 2, 3, 4, 5};
这种方式也是使用初始化列表,适用于支持列表初始化的编译器版本。
使用
assign
方法:std::vector<int> vec; vec.assign(n, val);
先创建一个空的
vector
,然后使用assign
方法来设置其大小和初始值。使用
resize
方法(如果已存在元素):std::vector<int> vec(10, 0); // 初始有10个元素,每个值为0 vec.resize(5); // 现在只保留前5个元素,其余的被移除 vec.resize(15, 1); // 扩展到15个元素,新增的元素被初始化为1
resize
方法可以改变vector
的大小,如果vector
变大了,新添加的元素会使用提供的值初始化;如果vector
变小了,超出部分的元素会被移除。
相关推荐


















