為什麼禁止對臨時物件的非常量引用
C 禁止將臨時物件分配給非常量引用。此限制源自於臨時物件在創建它們的語句之後消失的事實。允許對臨時物件的非常量引用可能會導致未定義的行為。
考慮以下程式碼:
此程式碼嘗試將臨時 String 物件指派給非常量參考。但是,這是不允許的,因為 a 不是 const 引用,無法修改臨時物件。
此限制的一些常見原因包括:
C 允許從臨時物件讀取,但不能寫入它們,因為讀取會影響它們不會改變物件的狀態。然而,寫入臨時物件可能會產生意想不到的後果,因為該物件可能會在寫入作業完成之前被銷毀。
因此,為了防止這些潛在問題,C 限制對臨時物件的非常量引用,同時仍出於安全閱讀的目的,允許 const 引用。此限制有助於確保程序正確性並防止修改臨時物件可能導致的未定義行為。
以上是為什麼不能將臨時物件分配給 C 中的非常量參考?的詳細內容。更多資訊請關注PHP中文網其他相關文章!