首頁 >後端開發 >C++ >C 臨時物件的壽命有多長?

C 臨時物件的壽命有多長?

Barbara Streisand
Barbara Streisand原創
2024-12-23 13:36:02480瀏覽

How Long Do C   Temporary Objects Live?

C 中臨時物件的生命週期

C 確保臨時變數的生命週期延伸到其構造的完整表達式的末尾。這適用於臨時對象,例如在函數呼叫中建立的臨時對象,而不是作為參數傳遞。

例如,考慮以下類別:

如果我們如下使用此類:

臨時StringBuffer 物件的析構函數將在GetString 中傳回後調用。此行為由 C 標準保證,並允許在函數呼叫中可靠地使用臨時物件。

標準指定臨時物件的生命週期延伸到完整表達式的結尾,即最外層不屬於任何其他表達式的表達式。在這種情況下,完整表達式就是函數調用,因此臨時物件的生命週期會延長,直到函數返回為止。

這種保證對於表達式範本至關重要,它可以在複雜表達式中保存對臨時物件的參考。它確保物件在計算整個表達式之前保持有效。

以上是C 臨時物件的壽命有多長?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn