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.