不是有 rbegin和rend么?这样你就可以-- 操作了
函数说明如下,内有小例子:
http://www.cplusplus.com/reference/vector/vector/rbegin/http://www.cplusplus.com/reference/vector/vector/rend/其次,楼主如下写法逻辑有问题,
for (atuo e = end.begin();e !=vex.begin();e--)
应该为如下方式(从容器末尾开始倒叙访问)
atuo e = end.end();
e--;
for (;e !=vex.begin();e--)
弊端是容器第一个元素就没法操作了,可读性、代码量也不友好。
ps:begin()和end()返回的是 iterator迭代器而不是 reverse_iterator,在移动到begin位置后不能再--操作了,会抛出异常,而不是所谓的内存泄漏。
以上是visual studio 2010版本测试结果,有问题的地方请指教。