空指针和迷途指针的区别

空指针和迷途指针的区别

1. 当delete一个指针的时候,实际上仅是让编译器释放内存,但指针本身依然存在。这时它就是一个迷途指针。
当把迷途指针赋值为0时,变为空指针。

2. 如果试图删除迷途指针,程序会变得非常不稳定,任何情况都有可能发生。
但是如果只是删除一个空指针,则很安全。

3. 对迷途指针或者空指针解除指针的引用,是非法的,有可能会造成程序崩溃。如果指针是空指针,尽管同样是崩溃,但它同迷途指针
造成的崩溃相比是一种可预料的崩溃。调试起来方便得多。


你可能感兴趣的:(空指针和迷途指针的区别)