在没有矢量的C 中返回二维数组

Returning a two dimensional array in c++ without Vector

本文关键字:返回 二维数组      更新时间:2023-10-16

您可以在不使用向量或指针的情况下返回c 二维数组吗?

我找到了这个答案,但是我不想在使用点时自己管理RAM,https://stackoverflow.com/a/a/4172103/4954387

您可以在不使用向量的情况下返回C 一个二维数组还是 指针?

仅当在编译时大小已知,并且仅当您将数组包装在类类型中时。就像一维数组一样。您不能直接返回数组。

struct Array
{
    int array[2][3];
};
Array f()
{
    return Array { 1, 1, 1, 2, 2, 2 };
}
int main()
{
    auto const array = f();
}

如果您考虑使用诸如Array之类的类,请三思而后注意,标准库已经为此提供了std::array

如果您不知道编译时的大小,请删除"不使用向量"的要求并使用std::vector