C ++:删除' auto'排列

时间:2018-05-01 14:09:18

标签: c++ arrays delete-operator auto

创建像

这样的数组时
auto a = new int[10][10];

之后如何将其删除?

delete a

delete[] a?

此致 VanDahlen

1 个答案:

答案 0 :(得分:3)

您的"自动数组"实际上是int(*)[10],因为这是2D new[]为您提供的内容。

auto意味着你不必自己写这个类型,但它仍然存在,隐藏在现实地下墓穴的幕后。

无论如何,就像通过new[]创建的其他内容一样,您必须使用 fire delete[]将其杀死。

无论如何,我更喜欢int* ptr = new int[10*10]。或者在这种情况下只是int array[100]:P