list::list
Constrói uma lista de um tamanho específico, ou com elementos de um valor específico, ou com um alocador específico, ou como uma cópia de toda ou parte de alguma outra 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 |
Descrição |
Al |
A classe de alocador a ser usada com esse objeto. |
Count |
O número de elementos na lista construída. |
Val |
O valor dos elementos na lista. |
Right |
A lista da qual a lista construída é uma cópia. |
First |
A posição do primeiro elemento no intervalo de elementos a serem copiados. |
Last |
A posição do primeiro elemento além do intervalo de elementos a serem copiados. |
IList |
O initializer_list que contém os elementos a serem copiados. |
Comentários
Todos os construtores armazenam um objeto alocador (Al) e iniciam a lista.
get_allocator retorna uma cópia do objeto alocador usado para construir uma lista.
Os primeiros dois construtores especificam uma lista inicial vazia, o segundo especifica o tipo de alocador (Al) a ser usado.
O terceiro construtor especifica uma repetição de um número especificado (Count) de elementos do valor padrão para a classe Tipo.
Os construtores quarto e quinto especificam a repetição de (Count) elementos de valor Val.
O sexto construtor especifica uma cópia da lista Right.
O sétimo construtor move a lista Right.
O oitavo construtor usa initializer_list para especificar os elementos.
Os dois construtores seguintes copiam o intervalo [First, Last) de uma lista.
Nenhum dos construtores executa realocações provisórias.
Exemplo
// 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
Cabeçalho: <list>
Namespace: std