首頁 > 後端開發 > C++ > 哪些操作對 C 移出物件有效?

哪些操作對 C 移出物件有效?

Barbara Streisand
發布: 2024-12-25 17:42:15
原創
167 人瀏覽過

What Operations Are Valid on C   Moved-From Objects?

可以移動哪些物件?

C 標準允許移動 C 標準庫中定義的類型的物件。這意味著可以使用現有對像中的資料建立和初始化新對象,然後將其移至未指定的狀態。

對移出物件的有效操作

此標準定義移出的物件應置於有效但未指定的狀態。這意味著任何沒有先決條件的操作都可以在移出的物件上執行。此類操作通常包括:

  • 銷毀
  • 賦值
  • 常數觀察者(例如,get、empty、size)

操作先決條件

通常有先決條件的操作,例如解引用和pop_back,不能直接對移出的物件執行。

範例:交換函數範本

標準函式庫中的交換函式範本示範了指派給移出物件的能力。在此函數中,移出的物件首先分配給臨時變數(第 1 行)。然後,在為原始物件指派臨時變數的值(第 3 行)之前,為原始物件指派另一個物件的值(第 2 行)。

初始化語法注意事項

第1 行使用T c = std::move(a) 而非T c(std::move) 與移動操作的討論無關。這只是風格和偏好的問題。

以上是哪些操作對 C 移出物件有效?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板