list::list
Construit une liste de taille spécifique ou contenant des éléments de valeurs spécifiques, ou contenant un allocateur spécifique ou comme copie complète ou partielle d'une autre 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 );
Paramètres
Paramètre |
Description |
Al |
Classe allocator à utiliser avec cet objet. |
Count |
Nombre d'éléments dans la liste construite. |
Val |
Valeur des éléments de la liste. |
Right |
Liste dont la liste construite doit être une copie. |
First |
Position du premier élément de la plage d'éléments à copier. |
Last |
Position du premier élément au-delà de la plage d'éléments à copier. |
IList |
initializer_list qui contient les éléments à copier. |
Notes
Tous les constructeurs stockent un objet allocateur (Al) et initialisent la liste.
get_allocator retourne une copie de l'objet allocateur utilisé pour construire une liste.
Les deux premiers constructeurs spécifient une liste initiale vide. En outre, le second spécifie le type d'allocateur (Al) à utiliser.
Le troisième constructeur spécifie une répétition d'un nombre spécifique (Count) d'éléments de la valeur par défaut pour la classe Type.
Les quatrième et cinquième constructeurs spécifient une répétition des (Count) éléments ayant la valeur Val.
Le sixième constructeur spécifie une copie de la liste Right.
Le septième constructeur déplace la liste Right.
Le huitième constructeur utilise initializer_list pour spécifier les éléments.
Les deux constructeurs suivants copient la plage [First, Last) d'une liste.
Aucun des constructeurs n'effectue de réallocations temporaires.
Exemple
// 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;
}
Configuration requise
En-tête : <list>
Espace de noms : std