Compartilhar via


Classe list

A classe de lista STL é uma classe de modelo de contêineres de sequência que mantém seus elementos em uma organização linear e permite inserções e exclusões eficientes em qualquer local na sequência. A sequência é armazenada como uma lista vinculada bidirecional de elementos, cada um contendo um membro de algum tipo de Type.

template < 
   class Type,  
   class Allocator=allocator<Type>  
> 
class list

Parâmetros

  • Tipo
    O tipo de dados do elemento a ser armazenado na lista.

  • Allocator
    O tipo que representa o objeto alocador armazenado que encapsula detalhes sobre a alocação e desalocação de memória da lista. Esse argumento é opcional e o valor padrão é allocator<Type>.

Comentários

A escolha do tipo de contêiner deve se basear, de modo geral, no tipo de pesquisa e inserção exigido pelo aplicativo. Vetores devem ser o contêiner preferencial para gerenciar uma sequência quando o acesso aleatório a qualquer elemento é alto e inserção e exclusões de elementos apenas são necessárias no final de uma sequência. O desempenho do contêiner de deque de classe é superior quando o acesso aleatório é necessário e as inserções e exclusões no início e final de uma sequência são essenciais.

As funções de membro da lista mesclar, inverter, exclusiva, remover, e remove_if foram otimizadas para funcionar com objetos da lista e oferecer uma alternativa de alto desempenho para os seus correspondentes genéricos.

A realocação da lista ocorre quando uma função de membro deve inserir ou apagar elementos da lista. Nesses casos, somente iteradores ou referências que apontem para partes apagadas da sequência controladas tornam-se inválidos.

Inclua o cabeçalho padrão STL <list> para definir a lista da classe de modelo do contêiner e vários modelos de suporte.

Construtores

list

Constrói uma lista de um tamanho específico, ou com elementos de um valor específico, ou com um allocator específico, ou como uma cópia de alguma outra lista.

Typedefs

allocator_type

Um tipo que representa a classe allocator para um objeto de lista.

const_iterator

Um tipo que fornece um iterador bidirecional que pode ler um elemento const em uma lista.

const_pointer

Um tipo que fornece um ponteiro para um elemento const em uma lista.

const_reference

Um tipo que fornece uma referência para um elemento const armazenado em uma lista para leitura e execução de operações const.

const_reverse_iterator

Um tipo que fornece um iterador bidirecional que pode ler qualquer elemento const em uma lista.

difference_type

Um tipo que fornece a diferença entre dois iteradores que se referem a elementos na mesma lista.

iterator

Um tipo que fornece um iterador bidirecional que pode ler ou modificar qualquer elemento em uma lista.

pointer

Um tipo que fornece um ponteiro para um elemento em uma lista.

reference

Um tipo que fornece uma referência para um elemento const armazenado em uma lista para leitura e execução de operações const.

reverse_iterator

Um tipo que fornece um iterador bidirecional que pode ler ou modificar um elemento em uma lista invertida.

size_type

Um tipo que conta o número de elementos em uma lista.

value_type

Um tipo que representa o tipo de dados armazenado em uma lista.

Funções membro

assign

Apaga os elementos de uma lista e copia um novo conjunto de elementos na lista de destino.

back

Retorna uma referência ao último elemento de uma lista.

begin

Retorna um iterador que trata o primeiro elemento em uma lista.

list::cbegin

Retorna um iterador const que trata o primeiro elemento em uma lista.

list::cend

Retorna um iterador const que trata o local após o último elemento em uma lista.

list::clear

Apaga todos os elementos de uma lista.

list::crbegin

Retorna um iterador const que trata o primeiro elemento em uma lista invertida.

list::crend

Retorna um iterador const que trata o local após o último elemento em uma lista invertida.

list::emplace

Insere um elemento construído no local em uma lista na posição especificada.

list::emplace_back

Adiciona um elemento construído no local ao final de uma lista.

list::emplace_front

Adiciona um elemento construído no local ao início de uma lista.

empty

Testa se uma lista está vazia.

end

Retorna um iterador que trata o local após o último elemento em uma lista.

erase

Remove um elemento ou um intervalo de elementos das posições especificadas.

front

Retorna uma referência ao primeiro elemento em uma lista.

get_allocator

Retorna uma cópia do objeto allocator usada para construir uma lista.

insert

Insere um elemento ou um número de elementos ou um intervalo de elementos em uma lista, na posição especificada.

max_size

Retorna o tamanho máximo de uma lista.

merge

Remove os elementos da lista de argumentos, insere-os na lista de destino e organiza o conjunto novo e combinado de elementos em ordem crescente ou em alguma outra ordem especificada.

pop_back

Exclui o elemento no final de uma lista.

pop_front

Exclui o elemento no começo de uma lista.

push_back

Adiciona um elemento ao fim da lista.

push_front

Adiciona um elemento ao começo da lista.

rbegin

Retorna um iterador que trata o primeiro elemento em uma lista inversa.

remove

Apaga elementos em uma lista que correspondem a um valor especificado.

remove_if

Apaga os elementos da lista para a qual um predicado especificado foi atendido.

rend

Retorna um iterador que trata o local após o último elemento em uma lista invertida.

resize

Especifica um novo tamanho para uma lista.

reverse

Reverte a ordem na qual os elementos ocorrem em uma lista.

size

Retorna o número de elementos em uma lista.

sort

Organiza os elementos de uma lista em ordem crescente ou com respeito a alguma outra relação de ordem.

splice

Remove os elementos da lista de argumentos e os insere na lista de destino.

swap

Troca os elementos das duas listas.

unique

Remove elementos duplicados adjacentes ou elementos adjacentes que satisfazem algum predicado binário da lista.

Operadores

list::operator=

Substitui os elementos da lista por uma cópia de outra lista.

Requisitos

Cabeçalho: < lista >

Consulte também

Referência

<list>

Segurança de threads na Biblioteca Padrão C++

Biblioteca de Modelos Padrão