for循环的结构是什么,它将在c ++中输出多维数组的内容

时间:2019-04-06 01:19:45

标签: c++

我需要看一个示例,说明如何输出多维数组。

string** row = new string*[level];
for(int i = 0; i < level; ++i) {
      row[i] = new string[level];
}

// outputting:

int x; // filled with some value

int y; // filled with some value

如何依次浏览row[y][x]y来打印x

1 个答案:

答案 0 :(得分:1)

首先,由于使用的是C ++,您可能应该考虑使用std :: vector而不是手动动态分配:

std::vector<std::vector<std::string>> rows(level);

代替

string** row = new string*[level];

并以这种方式初始化它:

for (std::vector<std::string>& row_vec : rows)
{
    row_vec.resize(level);
}

并对其进行迭代,只需使用嵌套的for循环即可:

for (uint32_t x(0); x < level; ++x)
{
    for (uint32_t y(0); y < level; ++y)
    {
        std::cout << "rows[" << x << "][" << y << "] = " << rows[x][y] << std::endl;
    }
}