空指针与悬空指针

ber*_*436 4 language-agnostic

空指针和悬空指针之间有没有明显的区别?看起来这些都是用于指向不指向任何东西的指针的术语.想法是悬挂指针用于引用某些东西而现在却没有 - 其中空指针只是一个不引用任何东西的指针(无论它过去指向什么)?

Wug*_*Wug 12

指针术语:

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

悬空指针可以说是指向Hyperspace或Another Dimension,除了空指针,通常被称为指向Nothing.


Rob*_*Rob 8

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