나는 다음 코드 (다만, 오타 또는 물건있을 수 있습니다 여기에 입력 한) 한 : 난 그냥 포인터를 내가 어떤 식 으로든 반복자를와 push_back 질수또 다른 boost :: ptr_vector에 boost :: ptr_vector <...> :: iterator를 푸시?
typedef boost::ptr_vector<SomeClass> tvec;
tvec v;
// ... fill v ...
tvec vsnap;
for(tvec::iterator it = v.begin(); it != v.end(); ++it)
{
if((*v).anyCondition)
vsnap.push_back(it); // (*it) or &(*it) doesn't work
}
내 문제는 지금 얻지 않는다 반복자에서.
내가보기 싫은 쉬운 방법이 있습니까, 아니면이 경우 ptr_vector를 잘못 선택 했나요?
미리 감사드립니다.
Btw, "(* v) .anyCondition"대신 "v-> anyCondition"을 쓸 수 있습니다. –