list::insert
Wstawia element lub liczba elementów lub zakres elementów do listy w określonym położeniu.
iterator insert(
const_iterator _Where,
const Type& _Val
);
iterator insert(
const_iterator _Where,
Type&& _Val
);
void insert(
iterator _Where,
size_type _Count,
const Type& _Val
);
template<class InputIterator>
void insert(
iterator _Where,
InputIterator _First,
InputIterator _Last
);
Parametry
Parametr |
Opis |
_Where |
Pozycji na liście docelowego, w którym wstawiony pierwszy element. |
_Val |
Wartość elementu jest umieszczone na liście. |
_Count |
Liczba elementów, które są umieszczone na liście. |
_First |
Pozycja pierwszego elementu w zakresie elementów na liście argumentów do skopiowania. |
_Last |
Pozycja pierwszego elementu poza zakres elementów listy argumentów, które mają być skopiowane. |
Wartość zwracana
Pierwsze dwa wstawić funkcje zwracają iterację, wskazującą położenie, gdy nowy element został wstawiony do listy.
Przykład
// list_class_insert.cpp
// compile with: /EHsc
#include <list>
#include <iostream>
#include <string>
int main( )
{
using namespace std;
list <int> c1, c2;
list <int>::iterator Iter;
c1.push_back( 10 );
c1.push_back( 20 );
c1.push_back( 30 );
c2.push_back( 40 );
c2.push_back( 50 );
c2.push_back( 60 );
cout << "c1 =";
for ( Iter = c1.begin( ); Iter != c1.end( ); Iter++ )
cout << " " << *Iter;
cout << endl;
Iter = c1.begin( );
Iter++;
c1.insert( Iter, 100 );
cout << "c1 =";
for ( Iter = c1.begin( ); Iter != c1.end( ); Iter++ )
cout << " " << *Iter;
cout << endl;
Iter = c1.begin( );
Iter++;
Iter++;
c1.insert( Iter, 2, 200 );
cout << "c1 =";
for ( Iter = c1.begin( ); Iter != c1.end( ); Iter++ )
cout << " " << *Iter;
cout << endl;
c1.insert( ++c1.begin( ), c2.begin( ),--c2.end( ) );
cout << "c1 =";
for ( Iter = c1.begin( ); Iter != c1.end( ); Iter++ )
cout << " " << *Iter;
cout << endl;
// initialize a list of strings by moving
list < string > c2;
string str("a");
c2.insert( c2.begin(), move( str ) );
cout << "Moved first element: " << c2.front( ) << endl;
}
Dane wyjściowe
c1 = 10 20 30
c1 = 10 100 20 30
c1 = 10 100 200 200 20 30
c1 = 10 40 50 100 200 200 20 30
Moved first element: a
Wymagania
Nagłówek: <list>
Obszar nazw: std