首頁  >  文章  >  後端開發  >  如何複製C++ STL容器?

如何複製C++ STL容器?

王林
王林原創
2024-06-05 11:51:57804瀏覽

複製 C++ STL 容器有以下三種方法:使用 copy 建構函式複製容器的內容到一個新容器中。使用 assignment 運算子複製容器的內容到目標容器中。使用 std::copy 演算法複製容器中的元素。

如何复制C++ STL容器?

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

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