Vetores em C++ (vetor)
Um tipo de array dinâmico em C++ é vetor (vetor)
 
Vetor (vetor) — é uma estrutura de dados que já é um modelo de um array dinâmico.

Arrays comuns em C++ não possuem funções e métodos especiais para trabalhar com eles. Vetores em C++ são estruturas de dados que contêm mais funções adicionais para trabalhar com elementos.
 
Criando um vetor
#include <vetor> ... int main() { // declaração do vetor inteiro v para 10 elementos   vetor <int> v(10);     // mesmo com valores iniciais zero (vetor v1)   vetor <int> v1(10, 0); ...  
Preenchimento de vetores
Método 1
Alocamos memória para o n-ésimo número de elementos e os preenchemos lendo-os no teclado.
  int; cin>> n; vetor a(n); para (int i = 0; i < n; i++) cin>> a[i];
Método 2
O segundo método é necessário quando o número de elementos é desconhecido. Primeiro, um vetor vazio é criado e, em seguida, usando o método push_back(), um novo elemento é adicionado ao final do vetor.
  int; cin>> n; vetora; for (int i = 0; i < n; i++) { intb; cin>> b; a.push_back(b); }
Tamanho do vetor
int b = a.size();

Iteradores
Uma forma de iterar sobre elementos em contêineres (estruturas de dados) é o iterador (iterador ), que vêm em vários tipos.
 
Iterator - estrutura de dados que « indica» ; em algum elemento de contêiner e (para alguns contêineres) pode navegar para o elemento anterior/próximo.

O vetor usa o mais poderoso - iterador de acesso aleatório(Iterador de acesso aleatório).  Um iterador de acesso aleatório pode acessar um elemento arbitrário do vetor além do movimento sequencial.

Os benefícios dos iteradores
1)  Ao excluir elementos e iterar sobre elementos usando índices ([]), precisamos acompanhar o número de elementos restantes o tempo todo para não ultrapassar o vetor e, usando um iterador, você pode usar end()< /code> indicando o final do vetor.
2) Usando um iterador, você pode facilmente remover e inserir dinamicamente elementos em um vetor. 
 
Declaração do iterador
1) Declarar um iterador para um vetor inteiro e apontá-lo para o primeiro elemento no vetor. vetor <int> meuvetor = { 1, 2, 3, 4, 5 }; vetor <int>::iterator it = myvector.begin();
2) Declarar um iterador para um vetor inteiro e apontá-lo para o elemento após o último no vetor. vetor <int> meuvetor = { 1, 2, 3, 4, 5 }; vetor <int>::iterator it = myvector.end(); // aponta para o elemento após o último, vetor <int>::iterator it1 = myvector.end() - 1 ; // apontando para o último elemento.  
Obtendo e exibindo um valor
Obtendo e exibindo o elemento apontado pelo iterador. cout << *isso;  
Mover a posição do iterador
Mova a posição do iterador 3 posições para frente. avanço(it, 3);  
Criando um novo iterador a partir de um existente
Crie um novo iterador com base em um existente, avançando 3 posições. auto it1 = next(it, 3);  
Exibindo valores vetoriais usando um iterador
vector<int>::iterador; for (it = myvector.begin(); it != myvector.end(); ++it) {   cout<<*it<<" ";  }
Travessia do vetor
Para percorrer o vetor do último elemento ao primeiro, é utilizado um iterador reverso reverse_iterator, obtido por:
1) rbegin() -  retorna um iterador reverso apontando para o último elemento do vetor, a aplicação da operação ++ leva à transição para o elemento anterior;
2) rend() -  retorna um iterador reverso apontando para o elemento anterior do vetor, a aplicação da operação ++ leva à transição  para o próximo. vector<int>::reverse_iterator it = myvector.rbegin();  // aponta para o último elemento vector<int>::reverse_iterator it = myvector.rend();    // aponta para um elemento,   // que vem antes do primeiro,