Как я могу удалить указатель на массив в C ++ - PullRequest
3 голосов
/ 30 марта 2020

Мне интересно, как я могу использовать оператор удаления, если я хочу удалить инициализированный массив следующим образом:

int (*my_ptr)[10] = new int[3][10];

Это кажется недействительным:

delete[][]

Ответы [ 2 ]

5 голосов
/ 30 марта 2020

new int[3][10] - это просто создание динамического c массива, элементы которого сами являются массивами. Он удаляется так же, как и все массивы динамических c: delete[].

4 голосов
/ 30 марта 2020

my_ptr - это массив из 3 элементов. Каждый элемент имеет тип int[10].

Вы вызываете delete[] my_ptr;, чтобы удалить эти 3 элемента.

...