傳回局部變數是否會傳回副本並銷毀原始變數(NRVO)?
在 C 17 中,當啟用最佳化時(特別是(稱為傳回值最佳化或NRVO),傳回局部變數不涉及複製原始物件。傳回值位置,並且不會呼叫析構函數。標誌),則遵循預設行為:
局部變數正常構造。動性)到回傳值位置。 NRVO 後,只有一個構造函數觀察到析構函數調用,說明原來的i 物件被移動到了返回值位置,沒有進行複製。構造函數和析構函數調用,表明原始i 物件被複製,然後被析構。之後,返回局部變數不會傳回副本,也不會破壞原始變數。以上是在 C 17 中傳回局部變數是否會傳回副本並破壞原始變數 (NRVO)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!