Мне интересно, как я могу использовать оператор удаления, если я хочу удалить инициализированный массив следующим образом:
int (*my_ptr)[10] = new int[3][10];
Это кажется недействительным:
delete[][]
new int[3][10] - это просто создание динамического c массива, элементы которого сами являются массивами. Он удаляется так же, как и все массивы динамических c: delete[].
new int[3][10]
delete[]
my_ptr - это массив из 3 элементов. Каждый элемент имеет тип int[10].
my_ptr
int[10]
Вы вызываете delete[] my_ptr;, чтобы удалить эти 3 элемента.
delete[] my_ptr;