这些额外的论点意味着什么?

时间:2012-12-12 14:39:32

标签: c++ stl vector

这些额外的论点意味着什么,就像在这里

int data[num];
vector<int> v;
// ...
v.insert(v.begin(),data, data+num);

为什么有超过2个参数?请详细解释其功能。

1 个答案:

答案 0 :(得分:2)

有一个vector::insert的重载,它在该向量中占据一个位置,并在该位置之前插入一系列元素:

template< class InputIt >
void insert( iterator pos, InputIt first, InputIt last);
template< class InputIt >
iterator insert( const_iterator pos, InputIt first, InputIt last );

在您的情况下,您将从向量开头的data数组中插入全部内容(data衰变到指向第一个元素的指针和data + num点过去数组的结尾)。