deque::deque
Erstellt eine Doppelschlange einer bestimmten Größe oder mit Elementen eines bestimmten Werts oder mit einer bestimmten Belegungsfunktion oder als Kopie von alle oder nur einen Teil einer anderen Doppelschlange.
deque( );
explicit deque(
const Allocator& _Al
);
explicit deque(
size_type _Count
);
deque(
size_type _Count,
const Type& _Val
);
deque(
size_type _Count,
const Type& _Val,
const Allocator& _Al
);
deque(
const deque& _Right
);
template<class InputIterator>
deque(
InputIterator _First,
InputIterator _Last
);
template<class InputIterator>
deque(
InputIterator _First,
InputIterator _Last,
const Allocator& _Al
);
deque(
deque&& _Right
);
Parameter
Parameter |
Description |
_Al |
Die allocator-Klasse, die mit diesem Objekt verwendet werden soll. |
_Count |
Die Anzahl der Elemente in der erstellten Doppelschlange. |
_Val |
Der Wert der Elemente in der erstellten Doppelschlange. |
_Right |
Die Doppelschlange, von der die erstellte Doppelschlange, eine Kopie sein soll. |
_First |
Die Position des ersten Elements in dem zu kopierenden Elementbereich. |
_Last |
Die Position des ersten Elements nach dem zu kopierenden Elementbereich. |
Hinweise
Alle Konstruktoren speichern ein allocator-Objekt (_Al) und initialisieren die Doppelschlange.
Die ersten beiden Konstruktoren geben eine leere ursprüngliche Doppelschlange an, die zweite, den zu verwendenden Belegungsfunktionstyp (_Al) angibt.
Der dritte Konstruktor gibt eine Wiederholung einer angegebenen Anzahl (_Count) Elemente des Standardwerts für Klasse Typ an.
Die vierten und fünften Konstruktoren geben eine Wiederholung von (_Count) Elementen des Werts _Val an.
Der 6. Konstruktor wird eine Kopie der Doppelschlange _Right an.
Das Siebtel und die beobachten Konstruktoren kopieren den Bereich [_First, _Last) einer Doppelschlange.
Der letzte Konstruktor verschiebt die Doppelschlange _Right.
Keine der Konstruktoren führen alle Zwischenneuzuordnungen aus.
Beispiel
// deque_deque.cpp
// compile with: /EHsc
#include <deque>
#include <iostream>
int main( )
{
using namespace std;
deque <int>::iterator c1_Iter, c2_Iter, c3_Iter, c4_Iter, c5_Iter, c6_Iter;
// Create an empty deque c0
deque <int> c0;
// Create a deque c1 with 3 elements of default value 0
deque <int> c1( 3 );
// Create a deque c2 with 5 elements of value 2
deque <int> c2( 5, 2 );
// Create a deque c3 with 3 elements of value 1 and with the
// allocator of deque c2
deque <int> c3( 3, 1, c2.get_allocator( ) );
// Create a copy, deque c4, of deque c2
deque <int> c4( c2 );
// Create a deque c5 by copying the range c4[_First, _Last)
c4_Iter = c4.begin( );
c4_Iter++;
c4_Iter++;
deque <int> c5( c4.begin( ), c4_Iter );
// Create a deque c6 by copying the range c4[_First, _Last) and
// c2 with the allocator of deque
c4_Iter = c4.begin( );
c4_Iter++;
c4_Iter++;
c4_Iter++;
deque <int> c6( c4.begin( ), c4_Iter, c2.get_allocator( ) );
cout << "c1 = ";
for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )
cout << *c1_Iter << " ";
cout << endl;
cout << "c2 = ";
for ( c2_Iter = c2.begin( ); c2_Iter != c2.end( ); c2_Iter++ )
cout << *c2_Iter << " ";
cout << endl;
cout << "c3 = ";
for ( c3_Iter = c3.begin( ); c3_Iter != c3.end( ); c3_Iter++ )
cout << *c3_Iter << " ";
cout << endl;
cout << "c4 = ";
for ( c4_Iter = c4.begin( ); c4_Iter != c4.end( ); c4_Iter++ )
cout << *c4_Iter << " ";
cout << endl;
cout << "c5 = ";
for ( c5_Iter = c5.begin( ); c5_Iter != c5.end( ); c5_Iter++ )
cout << *c5_Iter << " ";
cout << endl;
cout << "c6 = ";
for ( c6_Iter = c6.begin( ); c6_Iter != c6.end( ); c6_Iter++ )
cout << *c6_Iter << " ";
cout << endl;
// Move deque c6 to deque c7
deque <int> c7( move(c6) );
deque <int>::iterator c7_Iter,
cout << "c7 =" ;
for ( c7_Iter = c7.begin( ) ; c7_Iter != c7.end( ) ; c7_Iter++ )
cout << " " << *c7_Iter;
cout << endl;
}
Output
c1 = 0 0 0
c2 = 2 2 2 2 2
c3 = 1 1 1
c4 = 2 2 2 2 2
c5 = 2 2
c6 = 2 2 2
c7 = 2 2 2
Anforderungen
Header: <deque>
Namespace: std