gpt4 book ai didi

c++ - 在连续内存块中动态创建二维数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:12:01 25 4
gpt4 key购买 nike

我试图在一个连续的内存块中创建二维数组,但它给出了 M 个连续的 block ,每个 block 的大小为 N。

int **arr = new int*[M];
for (int i = 0 ; i < M ; i++ )
{
arr[i] = new int[N];
}

如何在连续的内存块中创建二维数组?

最佳答案

int *buffer=new int[M*N];
int **arr=new int*[M];
for(int i=0;i<M;++i)
arr[i]=buffer+i*N;

实际上没有必要存储 arr 指针——它们可以在需要时计算。

关于c++ - 在连续内存块中动态创建二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4552080/

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