c++ - 如何在 C++ 中将二维数组转换为一维?
问题描述
例如,我有一个二维数组 A={{1,2,3}, {2,3},{5}}; 我想获取数组 A 中存在的所有行。我将数组的长度存储在变量“lenA”中,这里 lenA=3。另外我有一个数组 B,它具有 A 中每个子数组的长度。在这种情况下说 B={3,2,1}。参考我的示例数组 A,如何从一个二维数组(即 A)中动态获取 3 个子数组?因此,我会有类似的东西:
A1={1,2,3}
A2={2,3}
A3={5}
解决方案
您不能在 C++ 中动态生成新标识符。您可以获得的最接近的是使用预处理器生成您的名称,并且根据定义,这是在编译之前完成的。
如果您已经有固定数量的命名数组指针,则可以动态分配它们。但是任何必须在运行时接受任意数量的行的解决方案都需要您使用数组索引之类的东西。
for (int i = 0; i < lenA; i++)
{
// Do something with the row at A[i]
}
推荐阅读
- webpack - 是否可以在 JS 脚本中访问 [contenthash] 或 [hash] 或 [chunkhash]?
- google-apps-script - 自动导入html链接
- sql - 如何优化占用高 CPU 资源的 SQL 查询
- flutter - AppBarDesign 无法分配给参数类型“PreferredSizeWidget”
- angular - 为什么 IonicModule 不是每个延迟加载页面模块的一部分
- ios - 如何设置应用程序以从 url iOS 接收 utm 参数?
- javascript - 类似和简化的例子(新手问题)
- c# - C# Winforms:控制组框内控件高度的问题
- php - PhpUnit 当我使用 Mock Builder for Interface 时,我得到了正确的类
- java - 我的应用程序 java EE 无法与我的 Servlet 建立连接