gpt4 book ai didi

c++ - 在不使用任何循环的情况下动态分配二维数组?

转载 作者:太空宇宙 更新时间:2023-11-04 03:00:37 24 4
gpt4 key购买 nike

我们能否在不使用任何 for 循环或 while 循环的情况下动态分配二维数组?我在 c c++ 中有任何直接命令或函数吗?

最佳答案

如果不使用循环,您将在 ISO c++ 中受到一个限制,即一维的大小必须在编译时确定。然后可以在单个语句中完成此分配,如下所示:

#define COLUMN_SIZE 10 // this has to be determined at compile time
int main()
{
int (* arr)[COLUMN_SIZE];
int rows = 20; // this is dynamic and can be input from user at run time
arr = new int[rows][COLUMN_SIZE];
arr[3][4] = 10;
cout << arr[3][4] << endl;
return 0;
}

new分配的内存需要释放。此外,如果我们将其扩展到 n 个维度,只有一个维度可以在运行时确定。 原因是编译器必须知道每一行的大小才能创建一行连续的内存

关于c++ - 在不使用任何循环的情况下动态分配二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12635066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com