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