배열을 복사할 때 for loop, memcpy(), copy() 등 여러가지 방법이 존재한다.
그 중 copy() 함수를 통해 array와 vector에서 깊은 복사를 할 수 있기 때문에 copy()에 대해 정리해보려 한다.
다음은 벡터 origin을 target에 copy() 하는 코드이다.
#include <bits/stdc++.h>
using namespace std;
int main() {
vector<int> origin = {0, 1, 2};
vector<int> target(3);
copy(origin.begin(), origin.end(), target.begin());
for (int i:origin) cout << i << ' ';
cout << '\n';
for (int i:target) cout << i << ' ';
}
다음은 배열 origin을 target에 copy() 하는 코드이다.
#include <bits/stdc++.h>
using namespace std;
int main() {
int origin[3] = {0, 1, 2};
int target[3];
copy(origin, origin + 3, target);
for (int i:origin) cout << i << ' ';
cout << '\n';
for (int i:target) cout << i << ' ';
}
참고로 string, vector의 요소 전체를 복사할 때는 그냥 대입 연산자 (=) 만 사용해도 복사할 수 있다.
'C++' 카테고리의 다른 글
[C++] 중복 제거 함수 : unique() (0) | 2024.02.02 |
---|---|
[C++] 정렬 함수 : sort() (0) | 2024.02.02 |
[C++] 배열 초기화 함수 : fill(), memset(), {0, } (0) | 2024.02.02 |
[C++] string 클래스의 멤버함수 : c_str() (0) | 2024.02.02 |
[C++] bitset 라이브러리 (0) | 2024.01.17 |