c++ - 将在c ++中输出多维数组内容的for循环的结构是什么
问题描述
我需要看一个如何输出多维数组的示例。
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
解决方案
首先,您可能应该考虑使用 std::vector 而不是手动动态分配,因为您使用的是 C++:
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;
}
}
推荐阅读
- c# - 我有多个文本框(tbVarName1,tbVarName2,... tbVarName[n]),我想在 for 循环中增加它们以将文本分配给某些东西
- python - 匹配两个特定列的 Numpy
- c - 无法使用 Windows minifilter 驱动程序读取文件
- javascript - 每个循环淡入淡出动画中的 jQuery 异步行为
- python - 我在尝试运行我的代码时收到此错误 project_detail() missing 1 required positional argument: 'project_slug'
- c++ - 递归合并排序算法实现
- r - 创建一个函数来执行计算并将答案作为列添加到现有数据框
- node.js - 覆盖 eslint-plugin-mocha 规则上的错误消息
- python - Python 包 cx_Oracle==5.1.3 需要 Microsoft Visual C++ 9.0
- android - 只有安全或非 null 断言的 kotlin 消息