從大多數標準庫類的狀態移開
Version >= C++ 11
移動後,所有標準庫容器都處於有效但未指定的狀態。例如,在以下程式碼中,v2
將在移動後包含 {1, 2, 3, 4}
,但不保證 v1
為空。
int main() {
std::vector<int> v1{1, 2, 3, 4};
std::vector<int> v2 = std::move(v1);
}
有些類確實有一個精確定義的移動狀態。最重要的情況是 std::unique_ptr<T>
,它被保證在移動後為 null。