可以移動哪些物件?
C 標準允許移動 C 標準庫中定義的類型的物件。這意味著可以使用現有對像中的資料建立和初始化新對象,然後將其移至未指定的狀態。
對移出物件的有效操作
此標準定義移出的物件應置於有效但未指定的狀態。這意味著任何沒有先決條件的操作都可以在移出的物件上執行。此類操作通常包括:
操作先決條件
通常有先決條件的操作,例如解引用和pop_back,不能直接對移出的物件執行。
範例:交換函數範本
標準函式庫中的交換函式範本示範了指派給移出物件的能力。在此函數中,移出的物件首先分配給臨時變數(第 1 行)。然後,在為原始物件指派臨時變數的值(第 3 行)之前,為原始物件指派另一個物件的值(第 2 行)。
初始化語法注意事項
第1 行使用T c = std::move(a) 而非T c(std::move) 與移動操作的討論無關。這只是風格和偏好的問題。
以上是哪些操作對 C 移出物件有效?的詳細內容。更多資訊請關注PHP中文網其他相關文章!