int** a = new int*[n](); 这个函数是干什么的?

问题描述 投票:1回答:2
int** a = new int*[n]();

我找不到对这段代码的任何解释,我找到的都是对以下代码的解释 int *array = new int[n];. 我明白了,但我不能完全理解上面的代码。它是什么意思?

c++
2个回答
3
投票

你(应该)知道的。int *a = new int[n]; 分配一个 int的尺寸 n.

所以,总的来说。T *a = new T[n]; 分配一个 T的尺寸 n.

现在如果你用 T = int *,你会得到 int **a = new int*[n];的数组,它分配了一个 int *的指针(即指向 int).

增加 () 右边的指针将数组中的每个指针清零(否则它们将被未初始化)。


1
投票

创建一个指向大小为n的数组的指针,其中每个条目都是指向整数的指针。

你会得到一个指针数组

© www.soinside.com 2019 - 2024. All rights reserved.