gpt4 book ai didi

c++ - int * array[60] 和 int * array = new int(60); 之间的区别

转载 作者:太空狗 更新时间:2023-10-29 23:32:30 25 4
gpt4 key购买 nike

int * array[60]; //creates an array of 60 pointers to an int
int * array = new int(60); //same thing?

这两者会产生相同类型的数组吗?例如,指向整数的指针数组

我知道第一个未初始化,第二个已初始化,但我不确定第二个究竟创建了什么。

最佳答案

int * array = new int(60); //same thing?

不,它们不是一回事。 array在这里只是一个指针,然后指向一个初始化值为60的int。

如果你的意思是 int * array = new int[60];array 将指向一个包含 60 个整数的数组,它们仍然不是一回事。

请注意,正如声明一样,int* array 表示它是一个指针,而int* array[60] 表示它是一个数组(包含 60 个指针)。 (数组可能会衰减为指针,即 int* array[60]int**,它与 int* 不同。)

关于c++ - int * array[60] 和 int * array = new int(60); 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38319081/

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