2012-10-03 445 views
4

空指針與懸空指針之間是否有意義的區別?看起來這些都是用於不指向任何內容的指針的術語。是一個懸掛指針使用來引用某個東西,現在不是 - 其中一個空指針只是一個指向任何東西(不管它指向過去的指針)的指針的想法?空指針與懸空指針

回答

8

空指針只意味着指針不指向任何東西,或者在某些語言中意味着它不知道它指向什麼。但是因爲它是一個空指針,你知道這一點,代碼知道這一點,所以沒問題。一個懸掛指針是一個你認爲指向的東西,但實際上已不在那裏,因此指針實際上是不準確的,但不知道它。

11

指針術語:

  • 懸空(或野生型)指針:指向某個地方,而不是一個有效的對象的指針。
  • 空指針:指向特定指定的越界位置的指針,程序永遠不會合法存儲數據。特殊類型的懸空指針。
  • 未初始化的指針:從未分配給某個地址的指針。一種懸掛指針。
  • 陳舊的指針:用來指向某個東西的指針,但目標已被刪除(通過刪除運算符,空閒或超出範圍)。一種懸掛指針。

懸空的指針可以說是指向Hyperspace或指向另一個維度,除了空指針,它通常被稱爲指向Nothing。