std::distance
дает мне круговое расстояние на std::list
, а не относительное расстояние.Почему?
#include <list>
#include <iostream>
#include <iterator>
using namespace std;
int main(){
list<int> derp = {1,2,3,4};
auto begin = derp.begin();
auto end = derp.end();
end--;
cout << distance(end, begin) << endl;
cout << distance(begin, end) << endl;
}
Когда я запускаю это, происходит следующее:
2
3
Я ожидаю следующее:
-3
3
Почему это происходит?