我使用char (*H)[N] = new char[M][N];
创建了一个数组数组
我想将此指针返回到我的主要功能。我的问题是在这种情况下函数返回类型应该是什么?我可以使用返回类型作为指向数组数组的指针吗?
答案 0 :(得分:4)
我允许使用返回类型作为指向数组数组的指针。
是的,这将是您特定情况的语法:
char (*get_array())[N] {
return H;
}
但是您确实应该考虑使用std::unique_ptr<char[N]>
或std::array<std::array<char, N>, M>
。
答案 1 :(得分:2)
我允许使用返回类型作为指向数组数组的指针。
是的。一种方法是定义一个类型别名并将其用作返回类型。
using MyArrayPointer = char (*)[N];
MyArrayPointer foo()
{
auto ptr = new char[M][N];
return ptr;
}