使用vector定义一个动态二维数组,并将其值传给另外一个vector二维数组。给出一个完整的示例
时间: 2024-10-09 08:14:28 浏览: 40
在C++中,使用`std::vector<std::vector<T>>`可以定义动态的二维数组。下面是一个简单的示例,我们将创建两个二维vector,其中一个赋值给另一个:
```cpp
#include <iostream>
#include <vector>
// 定义元素类型,这里假设是int
using namespace std;
int main() {
// 创建第一组二维vector
vector<vector<int>> matrix1(3, vector<int>(4)); // 3行4列
// 初始化第一组vector的值
for (size_t i = 0; i < matrix1.size(); i++) {
for (size_t j = 0; j < matrix1[i].size(); j++) {
matrix1[i][j] = i * matrix1[i].size() + j;
}
}
cout << "Matrix 1:\n";
for (const auto& row : matrix1) {
for (const int val : row) {
cout << val << ' ';
}
cout << endl;
}
// 创建第二组二维vector并接收第一组的值
vector<vector<int>> matrix2(matrix1);
cout << "\nMatrix 2 (copy of Matrix 1):\n";
for (const auto& row : matrix2) {
for (const int val : row) {
cout << val << ' ';
}
cout << endl;
}
return 0;
}
```
在这个例子中,我们首先定义了一个3x4的二维vector `matrix1`,然后填充了一些数值。接着,通过直接赋值的方式将`matrix1`复制到`matrix2`,所以`matrix2`现在也是3x4的矩阵并且有相同的初始值。
阅读全文