複製 C++ STL 容器有以下三種方法:使用 copy 建構函式複製容器的內容到一個新容器中。使用 assignment 運算子複製容器的內容到目標容器中。使用 std::copy 演算法複製容器中的元素。
如何複製C++ STL 容器
前言
C++ 標準範本庫( STL) 提供了一系列容器類,用於儲存和管理資料。複製這些容器通常是必不可少的,例如,當我們需要在另一個容器中添加元素時,或者當我們需要在傳遞給函數的參數之前保留容器的內容時。
使用 copy 建構子
STL 容器提供了 copy 建構函數,它複製容器的內容到一個新的容器中。 copy 建構函式的語法如下:
std::vector<int> v1{1, 2, 3}; std::vector<int> v2(v1); // 复制 v1 到 v2
使用 assignment 運算子
assignment 運算子(=)也可以用來複製容器。 assignment 運算子將來源容器的內容複製到目標容器中,同時丟棄目標容器中的任何現有元素。 assignment 運算子的語法如下:
std::vector<int> v1{1, 2, 3}; std::vector<int> v2; v2 = v1; // 复制 v1 到 v2
使用 std::copy
std::copy 演算法可以用來複製容器中的元素。 std::copy 的語法如下:
std::vector<int> v1{1, 2, 3}; std::vector<int> v2(v1.size()); std::copy(v1.begin(), v1.end(), v2.begin()); // 复制 v1 到 v2
實戰案例
#假設我們有一個包含學生資訊的vector 容器:
struct Student { int id; std::string name; }; std::vector<Student> students = { {1, "Alice"}, {2, "Bob"}, {3, "Charlie"}, };
要複製此容器,我們可以使用copy 建構函數:
std::vector<Student> students_copy(students);
或使用assignment 運算子:
std::vector<Student> students_copy; students_copy = students;
現在,students_copy 將包含與students 相同的學生資訊。
以上是如何複製C++ STL容器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!