Si, pero con el delete no se cumple, debes asignar nulo manualmente a lo que quieras que sea nulo. Y en c++ no se si sucede (creo que se comporta igual pero no lo se), pero en C al declarar una variable no inicializada se le asigna un valor basura, por eso si se necesita un puntero no inicializado a algo debe asignarlese manualmente el valor nulo para que se manipule correctamente y se comporte como un valor nulo
Código:
int **matriz = NULL;//no se si es necesario en c++
...
delete [] matriz1;
matriz1 = NULL;
Saludos
vosk