2
컨테이너 안에 반복자의 위치를 결정하는 방법이 있습니까? 내가 찾고있는 "위치"는 반복자가 컨테이너의 시작 부분에서 얼마나 멀리 떨어져 있는지를 나타내는 정수 값의 형태를 취합니다. 예를 들어 반복자를 스칼라 색인으로 변환 하시겠습니까?
,vector.front()
는
0
것, 그리고
vector.back()
는
vector.size() - 1
컨테이너 안에 반복자의 위치를 결정하는 방법이 있습니까? 내가 찾고있는 "위치"는 반복자가 컨테이너의 시작 부분에서 얼마나 멀리 떨어져 있는지를 나타내는 정수 값의 형태를 취합니다. 예를 들어 반복자를 스칼라 색인으로 변환 하시겠습니까?
,vector.front()
는
0
것, 그리고
vector.back()
는
vector.size() - 1
std::distance
것 :
size_t index = std::distance(vector.begin(), it);
그냥 it - v.begin()
(예 : 벡터의 같은 임의 접근 반복자에 대한)입니다. 그렇지 않으면 두 번째 인수에 도달 할 때까지 첫 번째 인수를 증가시킵니다 (특히 효율적이지는 않습니다).