list::list
Erstellt eine Liste einer bestimmten Größe bzw. mit Elementen eines bestimmten Werts oder mit einer bestimmten Zuweisung oder als vollständige bzw. teilweise Kopie einer anderen Liste.
list( ); explicit list( const Allocator& Al ); explicit list( size_type Count ); list( size_type Count, const Type& Val ); list( size_type Count, const Type& Val, const Allocator& Al ); list( const list& Right ); list( list&& Right ); list( initializer_list<Type> IList, const Allocator& Al ); template<class InputIterator> list( InputIterator First, InputIterator Last ); template<class InputIterator > list( InputIterator First, InputIterator Last, const Allocator& Al );
Parameter
Parameter |
Beschreibung |
Al |
Die mit diesem Objekt zu verwendende Zuweisungsklasse. |
Count |
Die Anzahl von Elementen in der erstellten Liste. |
Val |
Der Werttyp der Elemente in der Liste. |
Right |
Die Liste, deren Kopie die erstellte Liste ist. |
First |
Die Position des ersten Elements in dem zu kopierenden Elementbereich. |
Last |
Die Position des ersten Elements nach dem zu kopierenden Elementbereich. |
IList |
Das initializer_list-Element, das die zu kopierenden Elemente enthält. |
Hinweise
Von allen Konstruktoren wird ein Zuweisungsobjekt (Al) gespeichert und die Liste initialisiert.
get_allocator gibt eine Kopie des Zuordnungsobjekts zurück, das zum Erstellen der Liste verwendet wird.
Die ersten beiden Konstruktoren geben eine leere ursprüngliche Liste an, der zweite den zu verwendenden Belegungsfunktionstyp (Al).
Der dritte Konstruktor gibt eine Wiederholung einer angegebenen Anzahl (Count) von Elementen des Standardwerts für die Klasse Typ an.
Die vierten und fünften Konstruktoren geben eine Wiederholung von (Count) Elementen des Werts Val an.
Der sechste Konstruktor gibt eine Kopie der Liste Right an.
Der siebte Konstruktor verschiebt die Liste Right.
Beim achten Konstruktor wird zum Angeben des Elements ein initializer_list-Element verwendet.
Die folgenden zwei Konstruktoren kopieren den [First, Last)-Bereich einer Liste.
Keine der Konstruktoren führen Zwischenneuzuordnungen aus.
Beispiel
// list_class_list.cpp
// compile with: /EHsc
#include <list>
#include <iostream>
int main()
{
using namespace std;
// Create an empty list c0
list <int> c0;
// Create a list c1 with 3 elements of default value 0
list <int> c1(3);
// Create a list c2 with 5 elements of value 2
list <int> c2(5, 2);
// Create a list c3 with 3 elements of value 1 and with the
// allocator of list c2
list <int> c3(3, 1, c2.get_allocator());
// Create a copy, list c4, of list c2
list <int> c4(c2);
// Create a list c5 by copying the range c4[_First, _Last)
list <int>::iterator c4_Iter = c4.begin();
c4_Iter++;
c4_Iter++;
list <int> c5(c4.begin(), c4_Iter);
// Create a list c6 by copying the range c4[_First, _Last) and with
// the allocator of list c2
c4_Iter = c4.begin();
c4_Iter++;
c4_Iter++;
c4_Iter++;
list <int> c6(c4.begin(), c4_Iter, c2.get_allocator());
cout << "c1 =";
for (auto c : c1)
cout << " " << c;
cout << endl;
cout << "c2 =";
for (auto c : c2)
cout << " " << c;
cout << endl;
cout << "c3 =";
for (auto c : c3)
cout << " " << c;
cout << endl;
cout << "c4 =";
for (auto c : c4)
cout << " " << c;
cout << endl;
cout << "c5 =";
for (auto c : c5)
cout << " " << c;
cout << endl;
cout << "c6 =";
for (auto c : c6)
cout << " " << c;
cout << endl;
// Move list c6 to list c7
list <int> c7(move(c6));
cout << "c7 =";
for (auto c : c7)
cout << " " << c;
cout << endl;
// Construct with initializer_list
list<int> c8({ 1, 2, 3, 4 });
cout << "c8 =";
for (auto c : c8)
cout << " " << c;
cout << endl;
}
Anforderungen
Header: <list>
Namespace: std