Нужно ли при удалении динамического массива присваивать NULL?

Вот создал я динамический массив N на M:
int **mas;
    mas=new int*[n];
    for(i=0;i<n;i++)
        mas[i]=new int[m];
А вот его удаление:
for(i=0;i<n;i++)
delete []mas[i];
delete []mas;
mas=NULL;
Вопрос: NULL присваивать обязательно? И что он вообще из себя представляется? Зачем его пишут?
3 ответа

Vegas_I, Для удаления массива нужно просто вызывать delete


Зачем его пишут?
для удобства с точки зрения проверки существует ли массив или нет, т.е объявляем указатель и зануляем, потом создаем массив и этому указателю присваиваем значение в памяти на массив, затем массив удаляем и зануляем указатель, т.е можно проверить существует ли массив в данный момент времени


NULL присваивать обязательно?
не обязательно, но это как правило хорошего тона
И что он вообще из себя представляется?
в С++ NULL это 0