list::list
Construye una lista de un tamaño específico o con elementos de un valor específico o con un asignador específico o como una copia de todo o de parte de alguna otra lista.
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 );
Parámetros
Parámetro |
Descripción |
Al |
La clase de asignador que se usa con este objeto. |
Count |
Número de elementos de la lista construida. |
Val |
Valor de los elementos de la lista. |
Right |
Lista de la que la lista construida va a ser una copia. |
First |
Posición del primer elemento en el intervalo de elementos que se va a copiar. |
Last |
Posición del primer elemento más allá del intervalo de elementos que se va a copiar. |
IList |
initializer_list que contiene los elementos que se van a copiar. |
Comentarios
Todos los constructores almacenan un objeto de asignador (Al) e inicializan la lista.
get_allocator devuelve una copia del objeto de asignador utilizado para construir una lista.
Los dos primeros constructores especifican una lista inicial vacía y el segundo especifica el tipo de asignador (Al) que se va a usar.
El tercer constructor especifica una repetición de un número especificado (Count) de elementos del valor predeterminado para la clase Type.
Los constructores cuarto y quinto especifican una repetición de elementos (Count) de valor Val.
El sexto constructor especifica una copia de la lista Right.
El séptimo constructor mueve la lista Right.
El octavo constructor utiliza una initializer_list para especificar los elementos.
Los dos constructores siguientes copian el intervalo [First, Last) de una lista.
Ninguno de los constructores realiza ninguna reasignación provisional.
Ejemplo
// 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;
}
Requisitos
Encabezado: <list>
Espacio de nombres: std