C++ vector.insert的用法

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();

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值