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