首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

迭代器的加法解决思路

2013-04-02 
迭代器的加法经过自己测试vector的迭代器可以加法操作,iter iter + 1但是对于map的迭代器为什么只能用i

迭代器的加法
经过自己测试
vector的迭代器可以加法操作,iter = iter + 1;
但是对于map的迭代器为什么只能用iter++,不能用iter = iter + 1;

是这样子的么? 迭代器
[解决办法]
因为vector支持通过元素位置实现随机访问,所以他的迭代器可以进行算术运算。map不可以
[解决办法]

引用:
引用:
因为vector支持通过元素位置实现随机访问,所以他的迭代器可以进行算术运算。map不可以
iter++ 和 iter = iter + 1,有什么差别么?
求解
对于vector等支持随机访问的效果上没有差别,但是这两者的意义不同,一般的容器都重载了迭代器的++ --操作符,但如果容器不支持元素位置的随机访问(此时重载的++意思是指向下一个元素,但这个元素的物理位置不一定和当前相连),是不可以进行迭代器的算术操作的(+n操作),

热点排行