2009/09/14

vector 원소 복사하기

vector< int > vA;
vector< int > vB;

vA.push_back( 1 );
vA.push_back( 3 );
vA.push_back( 5 );
vA.push_back( 7 );
vA.push_back( 9 );

// 모든 원소 복사
vB.resize( vA.size() ); // 복사될 크기 만큼 공간 확보
copy( vA.begin(), vA.end(), vB.begin() );

// 결과
// vA [5](1,3,5,7,9) std::vector<int,std::allocator<int> >
// vB [5](1,3,5,7,9) std::vector<int,std::allocator<int> >


// 처음부터 3개만 복사할 경우
vB.resize( 3 ); // 복사될 크기 만큼 공간 확보
copy( vA.begin(), vA.begin() + 3, vB.begin() );

// 결과
// vA [5](1,3,5,7,9) std::vector<int,std::allocator<int> >
// vB [3](1,3,5) std::vector<int,std::allocator<int> >


// 두번 째 원소부터 3개를 복사할 경우
vB.resize( 3 ); // 복사될 크기 만큼 공간 확보
copy( vA.begin() + 1, vA.begin() + 4, vB.begin() );

// 결과
// vA [5](1,3,5,7,9) std::vector<int,std::allocator<int> >
// vB [3](3,5,7) std::vector<int,std::allocator<int> >

Original Post : http://neodreamer-dev.tistory.com/323

No comments :

Post a Comment