有关迭代器
为什么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 操作