C ++: удалить массив 'auto' - PullRequest
0 голосов
/ 01 мая 2018

при создании массива типа

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

как мне потом удалить?

delete a

или

delete[] a?

С уважением, VanDahlen

1 Ответ

0 голосов
/ 01 мая 2018

Ваш "автоматический массив" на самом деле int(*)[10], потому что это то, что дает вам 2D new[].

auto означает, что вам не нужно писать шрифт самостоятельно, но он все еще там, спрятан за кулисами в катакомбах реальности.

Независимо от того, как и все, что создано с помощью new[], вы должны убить его с помощью fire delete[].

Во всяком случае, я бы предпочел int* ptr = new int[10*10]. Или в этом случае просто int array[100]: P

...