본문 바로가기
카테고리 없음

Pointer의 Vector Iterator 쓰는 방법

by belitino 2014. 7. 4.

출처: http://stackoverflow.com/questions/10325774/iterator-with-vector-pointer

 

클래스 포인터의 Vector를 만들어서 Iterator로 접근을 하려고 하니 계속해서 컴파일이 실패를 해서 일단은 at() 써서 해결은 했는데 찾아보니 출처에서 다음과 같이 써있네요

 

먼저 이런 벡터가 있을 때

 

vector<Person*> *personVec = new vector<Person*>();

 

 

이렇게 쓰려고 했는데 계속해서 컴파일 에러가 나고

 

vector<Person>::iterator it;
for(it = personVec->begin() ; it != personVec->end() ; ++it)
{
    cout << it->getName() << endl;
}

 

이렇게 써야 정상적으로 동작하네요.

 

vector<Person*>::iterator it;
for(it = personVec->begin() ; it != personVec->end() ; ++it)
{
    cout << (*it)->getName() << endl;
}