insert() 函数有以下三种用法:
在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器,
在指定位置loc前插入num个值为val的元素
在指定位置loc前插入区间[start, end)的所有元素 .,查看源码返回元素的大小个数
原函数
iterator insert(const_iterator _Where, const _Ty& _Val)
{ // insert _Val at _Where
return (_Insert_n(_Where, (size_type)1, _Val));
}
iterator insert(const_iterator _Where, size_type _Count,
const _Ty& _Val)
{ // insert _Count * _Val at _Where
return (_Insert_n(_Where, _Count, _Val));
}
template<class _Iter>
typename enable_if<_Is_iterator<_Iter>::value,
iterator>::type
insert(const_iterator _Where, _Iter _First, _Iter _Last)
{ // insert [_First, _Last) at _Where
size_type _Off = _VIPTR(_Where) - this->_Myfirst();
_Insert(_Where, _First, _Last, _Iter_cat_t<_Iter>());
return (begin() + _Off);
}
template<class _Iter>
void _Insert(const_iterator _Where,
_Iter _First, _Iter _Last,
input_iterator_tag)
{ // insert [_First, _Last) at _Where, input iterators
size_type _Off = _VIPTR(_Where) - this->_Myfirst();