📅  最后修改于: 2023-12-03 14:39:49.235000             🧑  作者: Mango
Vector是C++中的一个标准库,用于表示动态数组。Vector中的元素可以自由地添加和删除,而且支持随机访问,性能较好。本文将介绍C++ Vector及其初始化方法。
使用Vector需要包含头文件<vector>
,并使用std
命名空间。
#include <vector>
int main() {
std::vector<int> vec; // 创建int类型的空Vector
vec.push_back(1); // 在Vector末尾添加一个元素1
vec.push_back(2); // 在Vector末尾添加一个元素2
return 0;
}
上述代码使用了std::vector<int>
创建一个空的Vector,然后使用push_back
函数在Vector末尾添加了两个元素。
Vector的访问可以通过下标或指针进行。
std::vector<int> vec{1, 2, 3, 4};
// 通过下标访问
std::cout << vec[0] << std::endl; // 输出1
// 通过指针访问
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << std::endl;
}
可以直接将一个初始化列表赋值给Vector。这种方法在初始化Vector时非常方便。
std::vector<int> vec = {1, 2, 3, 4, 5};
// 等同于
std::vector<int> vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
vec.push_back(4);
vec.push_back(5);
通过使用等号将一个Vector拷贝给另外一个Vector,完成拷贝初始化。这种方法创建一个新的Vector,并将原始Vector中的元素复制到新的Vector中。
std::vector<int> vec1 = {1, 2, 3, 4, 5};
std::vector<int> vec2 = vec1;
// 等同于
std::vector<int> vec2;
for (auto it = vec1.begin(); it != vec1.end(); ++it) {
vec2.push_back(*it);
}
可以使用花括号表示法进行列表初始化。这种方法与直接赋值初始化方法等价。
std::vector<int> vec{1, 2, 3, 4, 5};
// 等同于
std::vector<int> vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
vec.push_back(4);
vec.push_back(5);
可以直接创建默认初始化的Vector,这时只创建一个长度为0的Vector。
std::vector<int> vec; // 默认初始化的Vector
可以通过指定长度和元素类型进行初始化。这种方法创建一个指定长度的Vector,并将所有元素初始化为默认值。例如,如果创建一个长度为5的int类型Vector,所有元素的值将设置为0。
std::vector<int> vec(5); // 创建一个长度为5的int类型Vector,所有元素初始化为0
可以通过指定长度、元素类型和初值进行初始化。这种方法创建一个指定长度的Vector,并将所有元素初始化为指定的初值。
std::vector<int> vec(5, 1); // 创建一个长度为5的int类型Vector,所有元素初始化为1
本文介绍了C++中的Vector,并演示了几种常见的初始化方法。Vector是C++中常用的数据结构之一,能够很好地满足不定长数组的需求。