벡터 복사는 원본 벡터와 동일한 요소를 포함하는 새 벡터를 만드는 과정입니다. 이 글에서는 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
이 방법을 사용하면 복사하기 전에 필요한 경우 요소를 수정할 수도 있으므로 더 많은 제어가 가능합니다.