你可以在不使用向量或指针的情况下在c ++中返回二维数组吗?
我找到了这个答案,但我不想在使用点击器https://stackoverflow.com/a/4172103/4954387
时自己管理ram答案 0 :(得分:2)
你可以在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
。