目录
在C++中,你可以使用嵌套的 在上面的代码中,
C++中如何声明二维vector
std::vector
来声明一个二维的vector。每个元素本身是一个std::vector
,而这些元素的集合构成了外部的std::vector
。以下是如何声明一个二维vector的示例:#include <vector>
int main() {
// 声明一个二维vector,初始化为3行,每行有0个元素
std::vector<std::vector<int>> matrix(3);
// 如果你还想初始化每行的列数,你可以使用循环或者列表初始化
// 使用循环为每行分配列
for (int i = 0; i < matrix.size(); ++i) {
matrix[i].resize(2); // 现在每行有2个元素
}
// 或者在声明时就指定每行的列数(使用列表初始化)
std::vector<std::vector<int>> matrix2 = {
{0, 0}, // 第一行有2个元素
{0, 0}, // 第二行有2个元素
{0, 0} // 第三行有2个元素
};
// 或者在声明时使用构造函数和默认元素数量
std::vector<std::vector<int>> matrix3(3, std::vector<int>(2, 0));
// matrix3是一个3x2的二维vector,所有元素都初始化为0
return 0;
}
matrix
是一个二维vector,最初被声明为包含3个std::vector<int>
对象,但这些对象最初是空的。然后,我们使用循环来为每个内部vector分配2个元素的空间。matrix2
是使用列表初始化来声明的,它直接在声明时指定了每行的元素数量和值。matrix3
是在声明时通过构造函数来指定行数和列数的,并且为所有元素提供了一个默认值(在这个例子中是0)。这是声明和初始化二维vector时最常用的方法之一,因为它既设置了大小又提供了元素的初始值。