Biblioteca C ++ - <vetor>

Introdução

Vetores são recipientes de sequência que podem mudar de tamanho. Container é um objeto que contém dados do mesmo tipo. Os contêineres de sequência armazenam elementos estritamente em sequência linear.

Vector armazena elementos em localizações contíguas de memória e permite acesso direto a qualquer elemento usando o operador subscrito []. Ao contrário da matriz, o vetor pode encolher ou expandir conforme necessário em tempo de execução. O armazenamento do vetor é feito automaticamente.

Para suportar a funcionalidade de redução e expansão em tempo de execução, o contêiner de vetor pode alocar algum armazenamento extra para acomodar um possível crescimento, portanto, o contêiner tem capacidade real maior do que o tamanho. Portanto, em comparação com o array, o vetor consome mais memória em troca da capacidade de gerenciar o armazenamento e crescer dinamicamente de forma eficiente.

Vetores de tamanho zero também são válidos. Nesse caso, vector.begin () e vector.end () apontam para o mesmo local. Mas o comportamento de chamar front () ou back () é indefinido.

Definição

Abaixo está a definição de std :: vector do arquivo de cabeçalho <vector>

template < class T, class Alloc = allocator<T> > class vector;

Parâmetros

  • T - Tipo de elemento contido.

    T pode ser substituído por qualquer outro tipo de dados, incluindo tipo definido pelo usuário.

  • Alloc - Tipo de objeto alocador.

    Por padrão, o modelo de classe de alocador é usado, o que define o modelo de alocação de memória mais simples e é independente de valor.

Tipos de membros

Os seguintes tipos de membro podem ser usados ​​como parâmetros ou tipo de retorno por funções de membro.

Sr. Não. Tipos de membros Definição
1 value_type T (primeiro parâmetro do modelo)
2 alocator_type Alloc (segundo parâmetro do modelo)
3 referência value_type &
4 const_reference const value_type &
5 ponteiro value_type *
6 const_pointer const value_type *
7 iterador um iterador de acesso aleatório para value_type
8 const_iterator um iterador de acesso aleatório para const value_type
9 reverse_iterator std :: reverse_iterator <iterator>
10 const_reverse_iterator std :: reverse_iterator <const_iterator>
11 Tamanho Tipo size_t
12 tipo de diferença ptrdiff_t

Funções de <vector>

Abaixo está uma lista de todos os métodos do cabeçalho <vector>.

Construtores

Sr. Não. Método e Descrição
1 construtor vector :: vector padrão

Constrói um container vazio, com zero elementos.

2 construtor vector :: vector fill

Constrói um contêiner com n elementos e assignd val para cada elemento.

3 construtor vector :: vector range

Constrói um contêiner com tantos elementos no intervalo do primeiro ao último.

4 construtor vector :: vector copy

Constrói um container com cópia de cada elemento presente no container x existente .

5 construtor vector :: vector move

Constrói o contêiner com o conteúdo de outro usando a semântica de movimentação .

6 construtor de lista de inicializador vector :: vector

Constrói um contêiner a partir da lista de inicializadores.

Destruidor

Sr. Não. Método e Descrição
1 vetor :: ~ vetor

Destrói o contêiner desalocando a memória do contêiner.

Funções de membro

Sr. Não. Método e Descrição
1 vector :: atribuir versão de preenchimento

Atribua novos valores aos elementos do vetor, substituindo os antigos.

2 vector :: atribuir versão de intervalo

Atribua novos valores aos elementos do vetor, substituindo os antigos.

3 vector :: atribuir versão da lista de inicializador

Atribua novos valores aos elementos do vetor, substituindo os antigos.

4 vector :: em

Retorna a referência ao elemento presente na localização n no vetor.

5 vector :: voltar

Retorna uma referência ao último elemento do vetor.

6 vector :: begin

Retorne um iterador de acesso aleatório apontando para o primeiro elemento do vetor.

7 vetor :: capacidade

Retorna o tamanho do armazenamento alocado, expresso em termos de elementos.

8 vector :: cbegin

Retorna um iterador de acesso aleatório constante que aponta para o início do vetor.

9 vector :: cend

Retorna um iterador de acesso aleatório constante que aponta para o início do vetor.

10 vector :: claro

Destrói o vetor removendo todos os elementos do vetor e define o tamanho do vetor como zero.

11 vector :: crbegin

Retorna um iterador reverso constante que aponta para o início do reversor do contêiner.

12 vector :: crend

Retorna um iterador reverso constante que aponta para a extremidade reversa do vetor.

13 vector :: data

Retorna um ponteiro para o primeiro elemento do contêiner de vetor.

14 vector :: emplace

Estende o contêiner inserindo um novo elemento na posição .

15 vector :: emplace_back

Insere um novo elemento no final do vetor.

16 vector :: vazio

Testa se o vetor está vazio ou não.

17 vector :: end

Retorna um iterador que aponta para o elemento além do fim no contêiner de vetor.

18 vector :: apagar versão da posição

Remove um único elemento do vetor.

19 vector :: apagar versão do intervalo

Remove um único elemento do vetor.

20 vector :: front

Retorna uma referência ao primeiro elemento do vetor.

21 vector :: get_allocator

Retorna um alocador associado ao vetor.

22 vector :: inserir versão de elemento único

Estende o iterador inserindo um novo elemento na posição.

23 vetor :: inserir versão de preenchimento

Estende o vetor inserindo um novo elemento no contêiner.

24 vector :: inserir versão do intervalo

Estende o vetor inserindo um novo elemento no contêiner.

25 vector :: inserir versão de movimento

Estende o vetor inserindo um novo elemento no contêiner.

26 vector :: inserir versão da lista de inicializadores

Estende o vetor inserindo um novo elemento no contêiner.

27 vector :: max_size

Retorna o número máximo de elementos que podem ser mantidos por vetor.

28 vector :: operator = copiar versão

Atribua novos conteúdos ao vetor substituindo os antigos e modifique o tamanho, se necessário.

29 vector :: operator = mover versão

Atribua novos conteúdos ao vetor substituindo os antigos e modifique o tamanho, se necessário.

30 vector :: operator = versão da lista de inicializador

Atribua novos conteúdos ao vetor substituindo os antigos e modifique o tamanho, se necessário.

31 vector :: operator []

Retorna uma referência ao elemento presente na localização n .

32 vector :: pop_back

Remove o último elemento do vetor e reduz o tamanho do vetor em um.

33 vector :: push_back

Insere um novo elemento no final do vetor e aumenta o tamanho do vetor em um.

34 vector :: rbegin

Retorna um iterador reverso que aponta para o último elemento do vetor.

35 vector :: rend

Retorna um iterador reverso que aponta para a extremidade reversa do vetor.

36 vector :: reserve

As solicitações de reserva de capacidade do vetor devem ser pelo menos o suficiente para conter n elementos.

37 vector :: resize

Altera o tamanho do vetor.

38 vector :: shrink_to_fit

Solicita que o contêiner reduza sua capacidade de se ajustar ao seu tamanho.

39 vector :: size

Retorna o número de elementos presentes no vetor.

40 vector :: swap

Troca o conteúdo do vetor com o conteúdo do vetor x .

Funções sobrecarregadas de não membros

Sr. Não. Método e Descrição
1 operador ==

Testa se dois vetores são iguais ou não.

2 operador! =

Testa se dois vetores são iguais ou não.

3 operador <

Testa se o primeiro vetor é menor que outro ou não.

4 operador <=

Testa se o primeiro vetor é menor ou igual a outro ou não.

5 operador>

Testa se o primeiro vetor é maior que o outro ou não.

6 operador> =

Testa se o primeiro vetor é maior ou igual a outro ou não.

7 troca

Troca o conteúdo de dois vetores.