5

空指针和悬空指针之间是否存在有意义的区别?似乎这两个术语都用于不指向任何东西的指针。是否认为悬空指针曾经指向某物而现在没有——空指针只是一个不指向任何东西的指针(不管它过去指向什么)?

4

2 回答 2

13

指针术语:

  • 悬空(或野)指针:指向某处但不指向有效对象的指针。
  • 空指针:指向程序永远不会合法存储数据的特别指定的越界位置的指针。悬空指针的特殊类。
  • 未初始化的指针:从未分配给某物地址的指针。一种悬空指针。
  • 过时的指针:曾经指向某物的指针,但目标已被删除(通过删除操作符、空闲或超出范围)。一种悬空指针。

悬空的指针可以说是指向Hyperspace或Another Dimension,除了空指针,一般称为指向Nothing。

于 2012-10-03T18:10:57.230 回答
9

空指针只是意味着指针没有指向任何东西,或者在某些语言中意味着它不知道它指向什么。但是因为是空指针,你知道这个,代码也知道这个,所以没问题。悬空指针是您认为指向某物但实际上已不存在的指针,因此该指针实际上是不准确的,但并不知道。

于 2012-10-03T18:06:43.390 回答