정의
배열의 원소를 다른 배열로 STL을 사용하여 복사하기
- for문으로도 옮길 수 있지만 간단하게 한줄로 가능
배열 (memcpy)
#include <cstring>
// 1차원 배열
int src[101]; // 복사 해줌
int dest[101]; // 복사 받음
memcpy(dest, src, sizeof(dest));
// 2차원 배열
int src[101][101]; // 복사 해줌
int dest[101][101]; // 복사 받음
memcpy(dest, src, sizeof(dest));
배열 (copy)
#include <algorithm>
// 1차원 배열
int src[101]; // 복사 해줌
int dest[101]; // 복사 받음
copy(src, src + sizeof(dest), dest);
// 2차원 배열
int src[101][101]; // 복사 해줌
int dest[101][101]; // 복사 받음
copy(&src[0][0], &src[0][0]+sizeof(dest)/sizeof(int), &dest[0][0]);
벡터 (assign)
- 공간할당을 하면서 복사함
// 1차원 벡터
vector<int> src; // 복사 해줌
vector<int> dest; // 복사 받음
dest.assign(src.begin(), src.end());
// 2차원 벡터
vector<vector<int> > src; // 복사 해줌
vector<vector<int> > dest; // 복사 받음
dest.assign(src.begin(), src.end());
벡터 (copy)
- 공간할당이 필요함
// 1차원 벡터
vector<int> src; // 복사 해줌
vector<int> dest; // 복사 받음
copy(src.begin(), src.end(), dest.begin());
// 2차원 벡터
vector<vector<int> > src; // 복사 해줌
vector<vector<int> > dest; // 복사 받음
copy(src.begin(), src.end(), dest.begin());