Что должно произойти при повторном освобождении памяти?

Рейтинг: 1Ответов: 1Опубликовано: 29.01.2011
/* C */
int *p = (int *)malloc(size);

free(p);
free(p);

// C++
int *p = new int[size];

delete[] p;
delete[] p;

Код должен заведомо упасть или это зависит от компилятора?

Ответы

▲ 6Принят

Undefined behavior. Может и не упасть. Компилятор мало погоды тут делает.