deque::insert
Inserire un elemento o una serie di elementi o un intervallo di elementi in deque a una posizione specificata.
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
);
Parametri
Parametro |
Descrizione |
_Where |
La posizione in deque di destinazione in cui il primo elemento viene attivato. |
_Val |
Il valore dell'elemento che viene inserito in deque. |
_Count |
Il numero di elementi che vengono inseriti in deque. |
_First |
La posizione del primo elemento nella sequenza di elementi in deque dell'argomento da copiare. |
_Last |
La posizione del primo elemento nell'intervallo di elementi in deque dell'argomento da copiare. |
Valore restituito
Le prime due funzioni di insert restituiscono un iteratore che indica la posizione in cui il nuovo elemento è stato immesso in deque.
Note
Qualsiasi operazione di inserimento può essere costosa.
Codice
// deque_insert.cpp
// compile with: /EHsc
#include <deque>
#include <iostream>
#include <string>
int main( )
{
using namespace std;
deque <int> c1, c2;
deque <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 deque of strings by moving
deque < string > c3;
string str("a");
c3.insert( c3.begin(), move( str ) );
cout << "Moved first element: " << c3.front( ) << endl;
}
Output
[ 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
Requisiti
intestazione: <deque>
Spazio dei nomi: deviazione standard