從大多數標準庫類的狀態移開

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。