MyTinySTL icon indicating copy to clipboard operation
MyTinySTL copied to clipboard

deque的insert_dispatch,对输入迭代器进行了--操作:auto cur = --last;

Open Peas-Li opened this issue 4 months ago • 0 comments

// 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); } }

Peas-Li avatar Oct 19 '24 09:10 Peas-Li