Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Fügt ein Element oder mehrere Elemente oder ein Bereich von Elementen in die Doppelschlange in einer angegebenen Position ein.
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
);
Parameter
Parameter |
Description |
_Where |
Die Position in der Zieldoppelschlange, in der das erste Element eingefügt wird. |
_Val |
Der Wert des Elements, das in die Doppelschlange eingefügt wird. |
_Count |
Die Anzahl von Elementen, die in die Doppelschlange eingefügt werden. |
_First |
Die Position des ersten Elements im Bereich von Elementen in der Argumentdoppelschlange kopiert werden. |
_Last |
Die Position des ersten Elements über den Bereich von Elementen hinaus in der Argumentdoppelschlange kopiert werden. |
Rückgabewert
Die ersten beiden insert-Funktionen geben einen Iterator zurück, der der Position zeigt, in der das neue Element in die Doppelschlange eingefügt wurde.
Hinweise
Jeder Einfügungsvorgang kann kostenintensiv sein.
Code
// 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
Anforderungen
Header: <deque>
Namespace: std