Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Iterador forward
  2. Declarar um iterador forward
  3. Uso de operadores
  4. métodos

O tipo de iterador Forward é um tipo de iterador unidirecional para leitura e escrita de valores contidos em estrutura de dado dinâmica, contêiner ou coleção.

Tab. 1: Abstração de um iterador
begin referência 1 referência 2 (...) referência N end
elemento 1 elemento 2 elemento 3 (...) elemento N -
Características
  1. Utilizado para leitura de dados
  2. Utilizado para escrita de dados
  3. Unidirecional
  4. Só pode ser incrementado

Para utilizarmos o tipo de dado iterator, precisamos incluir a biblioteca chamada iterator.

Sintaxe
#include <iterator>

A declaração de um objeto do tipo iterator Forward é feita utilizando o tipo iterador acessado com o operador (::) proveniente da coleção desejada.

Sintaxe
tipo_dado<tipo_do_elemento>::iterator nome_iterador;
Onde
tipo_dado : tipo de dado coleção
tipo_do_elemento: tipo de dado do elemento

No exemplo abaixo, vamos utilizar o tipo de dado list para demostração do iterador forward. Esse tipo de dado pode ser visto com mais detalhes em C++ EDD: Vector.

Exemplo 1
#include <iterator>

using namespace std; 

int main()  
{  
    vector<int> vec = {1,2,3}; 
    vector<int>::iterator it; 
}
Saída
-

Os métodos prev e advance, vistos em C++ Iterador: Introdução, não podem ser utilizados com o tipo de iterador forward.

Podemos realizar algumas operações aritméticas e relacionais com o iterador do tipo forward de acordo com a tabela abaixo:

Tab 2. : Operadores Forward
Operador Exemplo
= iterador1 = iterador2
== iterador1 == iterador2
!= iterador1 != iterador2
++ iterador1++
* *iterador1

No exemplo abaixo, utilizamos o comando for, visto em C++: Comandos de Repetição, em que usamos seus blocos de iniciação, verificação e incremento para declarar expressões usando os operadores vistos acima:

Exemplo 2
#include <iostream>  
#include <vector>

using namespace std;

int main () {

   vector<int> v{1,2,3};
   vector<int>::iterator it;

    for(it = v.begin() ; it != v.end(); it++){
       cout << *it << " ";
   }
}
            
Saída
1 2 3

Em caso de dúvidas, os operadores acima foram vistos em C++: Operadores e C++: Ponteiros sendo a leitura recomendada.

  1. 01/08/2025 - revisão 3 - Ajustes pontuais e em sintaxes
  2. 30/08/2024 - revisão 2 - Correção em links de objetivos
  3. 09/02/2024 - revisão 1 - correção em navegação,css e erros gramaticais
  4. 30/06/2023 - versão inicial