📅  最后修改于: 2023-12-03 15:07:13.295000             🧑  作者: Mango
在C++中,使用std::vector
来表示2D向量是一种常见的做法。本文将介绍多种初始化2D向量的方法。
可以通过将一个已经初始化好的二维数组赋值给std::vector<std::vector<int>>
来初始化一个2D向量。示例代码如下:
const int ROWS = 2;
const int COLS = 3;
int arr[ROWS][COLS] = {
{1, 2, 3},
{4, 5, 6}
};
std::vector<std::vector<int>> vec(ROWS, std::vector<int>(COLS));
for(int i = 0; i < ROWS; ++i) {
vec[i] = std::vector<int>(arr[i], arr[i] + COLS);
}
可以使用嵌套的for循环来初始化一个2D向量。示例代码如下:
const int ROWS = 2;
const int COLS = 3;
std::vector<std::vector<int>> vec(ROWS, std::vector<int>(COLS));
for(int i = 0; i < ROWS; ++i) {
for(int j = 0; j < COLS; ++j) {
vec[i][j] = i * COLS + j + 1;
}
}
可以使用初始化列表来初始化一个2D向量,这样代码看起来更加简洁。示例代码如下:
std::vector<std::vector<int>> vec = {
{1, 2, 3},
{4, 5, 6}
};
可以使用std::fill
函数来初始化一个2D向量。示例代码如下:
const int ROWS = 2;
const int COLS = 3;
std::vector<std::vector<int>> vec(ROWS, std::vector<int>(COLS));
std::fill(vec.begin(), vec.end(), std::vector<int>(COLS, 0));
这篇文章介绍了多种初始化2D向量的方法,希望对大家有所帮助。