-6

ここのように、これらの追加の引数はどういう意味ですか

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

なぜ2つ以上の引数があるのですか?機能について詳しく説明してください。

4

1 に答える 1

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、配列の末尾を1つ過ぎたところを指します)。

于 2012-12-12T14:42:06.657 に答える