예를 들어, 다음과 같이 std::find_if
를 사용하는 경우 :iterator를 인덱스로 반환 할 수 있습니까?
std::vector<Rect>::iterator it =
std::find_if(regions.begin(), regions.end(), find_region(x,y));
반복자 it
의 인덱스를 간단한 방법으로 얻을 수 있습니까?
예를 들어, 다음과 같이 std::find_if
를 사용하는 경우 :iterator를 인덱스로 반환 할 수 있습니까?
std::vector<Rect>::iterator it =
std::find_if(regions.begin(), regions.end(), find_region(x,y));
반복자 it
의 인덱스를 간단한 방법으로 얻을 수 있습니까?
<iterator>
헤더 파일의 std::distance(regions.begin(), it)
을 시도해보십시오.
사용 표준 : 거리(). 벡터를 중간에 수정하여 실수로 반복자를 무효화하지 않도록하십시오.
벡터 반복자는 랜덤 액세스, 그래서 당신은 단순히
it - regions.begin()
사용할 수 있지만 표준 : 거리가 반복자 유형의보다 다양한에서 작동합니다.