Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jacking75/1760442 to your computer and use it in GitHub Desktop.
Save jacking75/1760442 to your computer and use it in GitHub Desktop.
STL에서 배열과 벡터간의 복사와 find를 사용하여 얻은 iterator를 이용하여 벡터에서의 위치를 알아내기
int main()
{
vector<char> vecdd;
vector<char>::iterator iterPos;
int n;
char dd[] = {0,3,4,5,5};
char ddd[] = {10,13,24,35,15};
char dddd[20];
char a,b,c,d, sss, Pos;
vecdd.push_back(5);
vecdd.push_back(10);
vecdd.push_back(15);
vecdd.push_back(25);
vecdd.push_back(35);
// 배열의 어떤 구간을 벡터로 복사 한다.
CopyMemory( &vecdd[0], dd, 5 );
// 벡터의 어떤 구간을 배열로 복사.
CopyMemory( &dddd, &vecdd[0], 5 );
// 배열을 STL의 알고리즘에서 사용
// find의 두번째 인수값은 배열의 크기를 벗어나는 첫 위치를 가르켜야 된다.
iterPos = find( dddd, 20, 15 );
// find를 찾은 이터레이터가 벡터에서 몇 번째 위치에 있는지 알아낸다.
Pos = iterPos - vecdd.begin();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment