Udostępnij za pośrednictwem


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

Zobacz też

Informacje

list Class

list::insert (STL Samples)

Standardowa biblioteka szablonu