C 中引用的不可重置性
在C 中,引用表現出兩個定義特徵:它們總是引用同一個對象,並且不能被重置。無效的。這與指標形成對比,指標可以切換物件目標並設定為 null。
不可重置引用的基本原理
儘管可重置引用具有明顯的好處,但 C缺乏這樣的功能。正如Bjarne Stroustrup 在《C 的設計與演化》中所述:
「初始化後無法更改引用所指的內容。一旦初始化了引用,就無法使其引用不同的物件稍後物件;無法重新綁定。 Algol68 的經驗,其中可以透過引用本身或透過更改其引用值來重新分配引用。這種歧義可能會導致程式設計錯誤。
在 C 中,引用始終指向同一對象,從而消除了此類混淆的可能性。透過實施此限制,可以增強程式碼的清晰度和可維護性。
保留物件標識引用與其目標物件保持強關聯。這種牢固的連接確保了所引用對象的有效性。透過禁止重新分配,C 可以防止懸空引用,即引用指向無效記憶體位置的情況。
為什麼不是常數、可重置選項?
有人認為恆定的、可重置的參考選項可以提供兩全其美的效果。然而,這個概念會為語言帶來額外的複雜性和潛在的歧義。
目前的行為(引用不可重置)確保開發人員可以依賴引用始終指向相同物件。這種簡單性和可預測性超過了潛在的更靈活的參考系統所帶來的好處。
以上是為什麼 C 引用不可重置?的詳細內容。更多資訊請關注PHP中文網其他相關文章!