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  

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