当delete一个指针的时候,实际上仅是让编译器释放内存,但是指针本身依然存在。这是这个指针就是迷途指针了。当使用p=0时,此时指针就变成空指针了。
使用迷途指针和空指针都是非法的,而且有可能造成程序的崩溃。如果指针是空的,尽管同样会出现崩溃,但是这样造成的崩溃是一种可预料的。而迷途指针就是说此指针所指向的内存已经被编译器释放了,编译器把这段内存可能非配给了其他指针或者变量,但是迷途指针依然存在,它仍然指向这段内存,如果继续用这个指针对这段内存操作的话, 就会出现不可预料的结果了。
所以在当delete一个指针后,就要把这个指针设置成空指针,不要让其成为迷途指针。