当创建一个数组时,例如
auto a = new int[10][10];
之后如何删除它?
delete a
或
delete[] a?
问候 范达伦
你的"自动数组"实际上是一个int(*)[10]
,因为这就是2Dnew[]
给你的。
auto
意味着你不必自己写类型,但它仍然存在,隐藏在现实地下墓穴的幕后。
无论如何,就像通过new[]
创建的任何其他东西一样,您必须用火delete[]
杀死它。
无论如何,更喜欢int* ptr = new int[10*10]
,我会的。或者在这种情况下只是int array[100]
:P