logo

C++에서 벡터를 복사하는 다양한 방법

벡터 복사는 원본 벡터와 동일한 요소를 포함하는 새 벡터를 만드는 과정입니다. 이 글에서는 C++에서 벡터를 복사하는 다양한 방법을 배웁니다.

C++에서 벡터를 복사하는 가장 효율적이고 쉬운 방법은 다음을 사용하는 것입니다. 할당 연산자(=) .  예를 살펴보겠습니다.



C++
#include    using namespace std; int main() {  vector<int> v1 = {2 4 1 5 3};  // Assigning the vector v1 to vector v2  vector<int> v2 = v1;  for (auto i : v2)  cout << i << ' ';  return 0; } 

산출
2 4 1 5 3 

C++에서는 벡터를 다른 벡터에 복사하는 더 많은 방법도 제공합니다. 그것들은 다음과 같습니다:

목차

벡터 생성자 사용

선언 시 벡터를 복사하는 또 다른 쉬운 방법은 원본 벡터를 다른 벡터의 복사 생성자에 전달하는 것입니다. 벡터.



C++
#include    using namespace std; int main() {  vector<int> v1 = {2 4 1 5 3};  // Copying vector v1 into vector v2  vector<int> v2(v1);  for (auto i : v2)  cout << i << ' ';  return 0; } 

산출
2 4 1 5 3 

복사() 사용

그만큼 복사() 함수는 C++에서 데이터를 복사하는 데 사용되는 방법입니다. 반복자를 사용하여 한 벡터를 다른 벡터로 복사할 수 있습니다. 게다가 copy_if() 이 함수의 변형은 단항 조건자 함수를 기반으로 선택적 복사를 수행할 수도 있습니다.

C++
#include    using namespace std; int main() {  vector<int> v1 = {2 4 1 5 3};  vector<int> v2;  // Copying vector v1 into vector v2  copy(v1.begin() v1.end() back_inserter(v2));  for (auto i : v2)  cout << i << ' ';  return 0; } 

산출
2 4 1 5 3 

설명: 우리는 사용해야합니다 뒤로 삽입기() 선언 중에 벡터 크기를 지정하지 않은 경우 함수입니다. 이미 공간이 충분하다면 패스해야 합니다. v2.시작() 대신에.

벡터 할당() 사용

그만큼 벡터 할당() 메서드는 = 연산자 메서드와 동일하지만 복사할 벡터에 대한 반복자가 필요합니다.



C++
#include    using namespace std; int main() {  vector<int> v1 = {2 4 1 5 3};  vector<int> v2;  // Copying the vector v1 into vector v  v2.assign(v1.begin() v1.end());  for (auto i : v2)  cout << i << ' ';  return 0; } 

산출
2 4 1 5 3 

벡터 삽입() 사용

그만큼 벡터 삽입() 메서드는 지정된 범위의 모든 요소를 ​​복사할 수 있는 버전을 제공합니다. 이것은 할당() 메소드와 유사한 방식으로 전체 벡터를 다른 벡터에 복사하는 데 사용할 수 있습니다.

C++
#include    using namespace std; int main() {  vector<int> v1 = {2 4 1 5 3};  vector<int> v2;  // Copying vector v1 into vector v2  v2.insert(v2.begin() v1.begin() v1.end());  for (auto i : v2)  cout << i << ' ';  return 0; } 

산출
2 4 1 5 3 

벡터 push_back() 사용

다음을 사용하여 첫 번째 벡터의 모든 요소를 ​​두 번째 벡터로 푸시합니다. 벡터 push_back() 방법. 루프는 첫 번째 벡터를 반복하는 것일 수 있습니다.

C++
#include    using namespace std; int main() {  vector<int> v1 = {2 4 1 5 3};  vector<int> v2;  // Copying vector v1 into vector v2  for (auto i : v1)  v2.push_back(i);  for (auto i : v2)  cout << i << ' ';  return 0; } 

산출
2 4 1 5 3 

이 방법을 사용하면 복사하기 전에 필요한 경우 요소를 수정할 수도 있으므로 더 많은 제어가 가능합니다.