BLOG main image
분류 전체보기 (27)
스윙 (5)
스터디 (14)
외부링크 (2)
미분류 (2)
(4)
agencia de limpeza
agencia de limpeza
blog de mepresas de limpezas
blog de mepresas de limpezas
deep cleaning
deep cleaning
what is gastric sleeve diet
what is gastric sleeve diet
nike hyperdunk
nike hyperdunk
12,389 Visitors up to today!
Today 0 hit, Yesterday 3 hit
daisy rss
tistory 티스토리 가입하기!
2011.05.24 08:54
[]

제너릭 copy함수를 사용하려면, [시작값], [종료값], [복사받을시작값]을 지정하는데
복사받을 값은 복사원본의 사이즈를 미리알고 있어야한다.
그래서
백터컨테이너를 이용할때 [복사받을시작값].reserve()를 이용해 미리 공간확보해야하는줄 알았다.

#include <vector>
using namespace std; int _tmain(int argc, _TCHAR* argv[])
{
 vector<int> n1,n2;
 
 n1.push_back(1); ///< 복사할 데이터
 n1.push_back(2);
 n1.push_back(3);

 n2.reserve(n1.size()); ///< 공간확보
 
 copy(n1.begin(), n1.end(), n2.begin());
 
 return 0;
}

위와 같이 작업하면


뷁...
n2.resize(n1.size());

resize를 이용하자
혹은,
insert_iterator를 이용하자
 copy(n1.begin(), n1.end(), insert_iterator<vector<int> >(n2, n2.begin()) );
insert_iterator는 현재 아무값도 저장되지 않은 백터도 begin()되는 공간을 생성해서 넣어준다.
Name
Password
Homepage
Secret