Вот что я скопировал с MSDN об операторе new
:
Оператор new
не может использоваться для выделения функции, но может быть
используется для выделения указателей на функции. Следующий пример
выделяет и затем освобождает массив из семи указателей на функции, которые
вернуть целые числа.
int (**p) () = new (int (*[7]) ());
delete *p;
Ну, в первой строке нет ничего странного, она выделяет массив указателей на функции, но я просто не понимаю, как вторая удаляет этот массив? Я думаю, что это должно быть:
delete[] *p;
Может кто-нибудь объяснить это?