我需要看一个示例,说明如何输出多维数组。
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
?
答案 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;
}
}