📅  最后修改于: 2023-12-03 15:37:53.794000             🧑  作者: Mango
在 C++ 中,向量是一种非常常见的数据结构。在实际开发中,我们通常需要在运行时动态为向量分配内存,以便能够存储任意数量的元素。本文将介绍如何在 C++ 中为向量分配内存。
在 C++ 中,我们可以使用默认构造函数来创建一个空的向量,然后使用 push_back()
方法向向量中添加元素。这种方法最为简单,但在向量元素数量较多时可能效率较低。
#include <vector>
int main() {
std::vector<int> v; // 创建一个空的向量
v.push_back(1);
v.push_back(2);
v.push_back(3);
return 0;
}
我们也可以使用向量的构造函数,来指定向量的大小以及初始值。这种方法创建的向量在内存中是连续存储的,因此效率更高。
#include <vector>
int main() {
std::vector<int> v(10); // 创建一个长度为 10 的向量,并初始化为 0
for (int i = 0; i < 10; i++) {
v[i] = i + 1;
}
return 0;
}
reserve()
方法我们还可以使用向量的 reserve()
方法来预留内存空间,然后使用 push_back()
方法向向量中添加元素。这种方法适用于我们事先已知向量元素数量的情况。
#include <vector>
int main() {
std::vector<int> v;
v.reserve(10); // 预留 10 个元素的空间
for (int i = 0; i < 10; i++) {
v.push_back(i + 1);
}
return 0;
}
resize()
方法最后,我们还可以使用向量的 resize()
方法来指定向量的大小,然后向向量中添加元素。这种方法会在向量中添加元素前先将向量的大小设置为指定大小。
#include <vector>
int main() {
std::vector<int> v;
v.resize(10); // 将向量大小设置为 10
for (int i = 0; i < 10; i++) {
v[i] = i + 1;
}
return 0;
}
以上是关于如何为向量 C++ 分配内存的介绍,希望对大家有所帮助。