就像问题所说,我想知道原因.因为当我试图获得const非const迭代器之间的距离时出现错误.
vector<int> v;
auto it=v.begin();
auto cit=v.cbegin();
distance(it,cit);
no matching function for call to ‘distance(__gnu_cxx::__normal_iterator<int*, std::vector<int> >&, __gnu_cxx::__normal_iterator<const int*, std::vector<int> >&)
Run Code Online (Sandbox Code Playgroud)
从我对迭代器的有限理解,我认为没有理由不应该工作.