int *p=(int * )malloc(sizeof(int));
delete p;
Когда мы выделяем память с помощью malloc, мы должны ее освобождать, используя free, и когда мы выделяем с помощью new в С++, мы должны освободить его, используя delete.
Но если мы выделяем память с помощью malloc, а затем будем использовать delete, тогда должна быть некоторая ошибка. Но в приведенном выше коде нет ошибок или предупреждений, поступающих на С++.
Также, если мы отменим и выделим с помощью new и release, используя free, тогда также нет ошибки или предупреждения.
Почему это так?