
C++中迭代器的加减
intmain(){vector<string>vec(10);vector<string>::iteratorite1=vec.begin();vector<strin...
int main()
{
vector<string> vec(10);
vector<string>::iterator ite1=vec.begin();
vector<string>::iterator ite2=vec.end();
ite2 -= ite1;
return 0;
}
书上说两个迭代器可以这样做,为什么编译通不过? 迭代器是不是标准库模仿指针新定义的一个数据类型? 展开
{
vector<string> vec(10);
vector<string>::iterator ite1=vec.begin();
vector<string>::iterator ite2=vec.end();
ite2 -= ite1;
return 0;
}
书上说两个迭代器可以这样做,为什么编译通不过? 迭代器是不是标准库模仿指针新定义的一个数据类型? 展开
2个回答
展开全部
更多追问追答
追问
对,我也是这么想的
追答
恩,就是这样。满意请采纳,谢谢!
展开全部
作者的意思是iter1 += n,n应该是个自然数,迭代器之间没有加法的操作,减法也没有组合式的操作,这里是stl的随机访问迭代器所支持的操作,你可以看一下: <a href="https://wenwen.sogou.com/login/redirect?url=http%3a%2f%2fwww.sgi.com%2ftech%2fstl%2frandomaccessiterator.html" target="_blank">http://www.sgi.com/tech/stl/randomaccessiterator.html</a>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询