Objetivos
Forward
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
- Utilizado para leitura de dados
- Utilizado para escrita de dados
- Unidirecional
- Só pode ser incrementado
Para utilizarmos o tipo de dado iterator, precisamos incluir a biblioteca chamada
iterator.
Sintaxe
#include <iterator>
Declaração
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.
Histórico de atualizações
- 01/08/2025 - revisão 3 - Ajustes pontuais e em sintaxes
- 30/08/2024 - revisão 2 - Correção em links de objetivos
- 09/02/2024 - revisão 1 - correção em navegação,css e erros gramaticais
- 30/06/2023 - versão inicial
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.