vector::insert
Wstawia element lub liczba elementów lub zakres elementów do vector w określonym położeniu.
iterator insert(
const_iterator _Where,
const Type& _Val
);
iterator insert(
const_iterator _Where,
Type&& _Val
);
void insert(
const_iterator _Where,
size_type _Count,
const Type& _Val
);
template<class InputIterator>
void insert(
const_iterator _Where,
InputIterator _First,
InputIterator _Last
);
Parametry
Parametr |
Opis |
_Where |
Pozycja w wektorze gdzie dodaje pierwszego elementu. |
_Val |
Wartość elementu jest wstawiony wektora. |
_Count |
Liczba elementów jest wstawiony wektora. |
_First |
Pozycja pierwszego elementu w zakresie elementy do skopiowania. |
_Last |
Pozycja pierwszego elementu poza zakres elementów, które mają być skopiowane. |
Wartość zwracana
Pierwsze dwa insert funkcje zwracają iterację, wskazującą położenie, gdy nowy element został wstawiony wektora.
Uwagi
Wszelkie operacje wstawiania może być kosztowne, zobacz klasy vector dla dyskusji o vector wydajności.
Przykład
// vector_insert.cpp
// compile with: /EHsc
#include <vector>
#include <iostream>
int main( )
{
using namespace std;
vector <int> v1;
vector <int>::iterator Iter;
v1.push_back( 10 );
v1.push_back( 20 );
v1.push_back( 30 );
cout << "v1 =" ;
for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
cout << " " << *Iter;
cout << endl;
v1.insert( v1.begin( ) + 1, 40 );
cout << "v1 =";
for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
cout << " " << *Iter;
cout << endl;
v1.insert( v1.begin( ) + 2, 4, 50 );
cout << "v1 =";
for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
cout << " " << *Iter;
cout << endl;
v1.insert( v1.begin( )+1, v1.begin( )+2, v1.begin( )+4 );
cout << "v1 =";
for (Iter = v1.begin( ); Iter != v1.end( ); Iter++ )
cout << " " << *Iter;
cout << endl;
// initialize a vector of vectors by moving v1
vector < vector <int> > vv1;
vv1.insert( vv1.begin(), move( v1 ) );
if ( vv1.size( ) != 0 && vv1[0].size( ) != 0 )
{
vector < vector <int> >::iterator Iter;
cout << "vv1[0] =";
for (Iter = vv1[0].begin( ); Iter != vv1[0].end( ); Iter++ )
cout << " " << *Iter;
cout << endl;
}
}
Wymagania
Nagłówek: <vector>
Obszar nazw: std