【发布时间】:2012-11-30 07:01:59
【问题描述】:
这些额外的参数是什么意思,就像在这里
int data[num];
vector<int> v;
// ...
v.insert(v.begin(),data, data+num);
为什么有两个以上的参数?请详细说明其作用。
【问题讨论】:
-
@Nim:比我刚才写的要好得多。
这些额外的参数是什么意思,就像在这里
int data[num];
vector<int> v;
// ...
v.insert(v.begin(),data, data+num);
为什么有两个以上的参数?请详细说明其作用。
【问题讨论】:
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 指向数组末尾的一个点) .
【讨论】: