c++ - 将二维数组转换为指针到指针

标签 c++ pointers static

Activity solution[a][b];

...

Activity **mother = solution;

我想将二维对象数组转换为指针到指针。我该怎么做;

我在谷歌上搜索过。但是我发现只有一维数组示例。

最佳答案

在这里,单纯的转换对您没有帮助。二维数组类型和指针到指针类型之间没有任何类型的兼容性。这样的转换是没有意义的。

如果你真的需要这样做,你必须引入一个额外的中间“行索引”数组,它将弥合二维数组语义和指针到指针语义之间的差距

Activity solution[a][b];

Activity *solution_rows[a] = { solution[0], solution[1] /* and so on */ };

Activity **mother = solution_rows;

现在访问 mother[i][j] 将允许您访问 solution[i][j]

关于c++ - 将二维数组转换为指针到指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8203700/

相关文章:

c - 从函数返回指针作为静态变量

c++ - 生成开区间均匀随机数

C++ 类可以包含一组类中的一个,这些类都继承自一个公共(public)类

c++ - 在 C++ 中将函数指针中的 const 参数转换为非 const

C++11 基于范围的指针 vector

java - 谁能告诉我这里的试卷要求什么?

c++ - 为什么我在这段特定代码中出现段错误?

c++ - std::swap 中不需要的析构函数调用

c++ - 如果不为空,则为指针赋值

java - 以静态方式注销广播接收器 - Android