gpt4 book ai didi

c++ - new int[][] 在 C++ 中是有效的吗?

转载 作者:IT老高 更新时间:2023-10-28 22:35:15 26 4
gpt4 key购买 nike

我遇到了一些使用以下方法分配二维数组的代码:

auto a = new int[10][10];

这是在 C++ 中有效的做法吗?我搜索了几本 C++ 引用书,都没有提到这种方法。通常我会手动完成分配如下:

int  **a = new int *[10];
for (int i = 0; i < 10; i++) {
a[i] = new int[10];
}

如果第一种方法有效,那么首选哪种方法?

最佳答案

第一个例子:

auto a = new int[10][10];

多维数组数组数组分配为连续的内存块。

第二个例子:

int** a = new int*[10];
for (int i = 0; i < 10; i++) {
a[i] = new int[10];
}

这不是一个真正的多维数组。实际上,它是一个指针数组,并且需要两次间接访问每个元素。

关于c++ - new int[][] 在 C++ 中是有效的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32921292/

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