MyTinySTL
MyTinySTL copied to clipboard
deque的insert_dispatch,对输入迭代器进行了--操作:auto cur = --last;
// insert_dispatch 函数 template <class T> template <class IIter> void deque<T>:: insert_dispatch(iterator position, IIter first, IIter last, input_iterator_tag) { if (last <= first) return; const size_type n = mystl::distance(first, last); const size_type elems_before = position - begin_; if (elems_before < (size() / 2)) { require_capacity(n, true); } else { require_capacity(n, false); } position = begin_ + elems_before; auto cur = --last; for (size_type i = 0; i < n; ++i, --cur) { insert(position, *cur); } }