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

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

Barbara Streisand
Barbara Streisand原創
2024-12-25 17:42:15174瀏覽

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中文網其他相關文章!

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