读书人

相关迭代器

发布时间: 2013-01-02 13:08:45 作者: rapoo

有关迭代器
为什么vector<int>::iterator mid = vi.begin() + vi.size()/2;没问题,而vector<int>::iterator mid = (vi.begin() + vi.end())/2;就不行?
[解决办法]
两个迭代器 相加的操作 是未定义的,如果这样用vi.begin() + vi.end肯定会编译报错
[解决办法]
vector iterator 不支持两个iterator的+操作,
可以支持iterator + int 操作

读书人网 >C++

热点推荐