Lar Finanças Pessoais Programação c ++: faça o seu caminho através de uma lista - manequins

Programação c ++: faça o seu caminho através de uma lista - manequins

Vídeo: Programar em C - Manipulação de Arquivos txt em C / Ler Dados - Aula 82 2024

Vídeo: Programar em C - Manipulação de Arquivos txt em C / Ler Dados - Aula 82 2024
Anonim

O programador C ++ itera através de uma matriz fornecendo o índice de cada elemento. No entanto, esta técnica não funciona para contêineres como list que não permitem acesso aleatório. Pode-se imaginar uma solução baseada em métodos como getFirst () e getNext () ; no entanto, os designers da Biblioteca de modelos padrão queriam fornecer um método comum para percorrer qualquer tipo de recipiente.

Para isso, a Biblioteca de modelos padrão define o iterador.

Um iterador é um objeto que aponta para os membros de um contêiner. Em geral, cada iterador suporta as seguintes funções:

  • Uma classe pode retornar um iterador que aponte para o primeiro membro da coleção.

  • O iterador pode ser movido de um membro para o próximo.

  • O iterador retorna uma indicação quando atinge o final da lista.

  • O programa pode recuperar o elemento apontado pelo iterador.

A Biblioteca de modelos padrão também fornece iteradores reversos para mover para trás as listas. Tudo aqui sobre iteradores aplica-se igualmente aos iteradores reversos.

O código necessário para iterar através de uma lista é diferente do necessário para percorrer um vetor (para citar apenas dois exemplos). No entanto, o iterador esconde esses detalhes.

O método começa () retorna um iterador que aponta para o primeiro elemento de uma lista. O operador indireto * () recupera uma referência ao objeto apontado pelo iterador. O ++ operador move o iterador para o próximo elemento na lista.

Um programa continua a incrementar seu caminho através da lista até que o iterador seja igual ao valor retornado pelo final () . O seguinte fragmento de código começa no início de uma lista de alunos e exibe cada um de seus nomes:

void displayStudents (lista e alunos) {// atribuir um iterador que aponte para o primeiro elemento // na lista de lista:: iterator iter = students. início(); // continua a percorrer a lista até o // iterador atingir o final da lista enquanto (iter! = students. end ()) {// recupera o Student o iterador aponta para Student & s = * iter; cout << s. sName << endl; // agora mova o iterador para o próximo elemento // na lista iter ++;}}

As declarações para iteradores podem ficar muito complexas. Esta é provavelmente a melhor justificativa para a declaração auto introduzida com o padrão '11:

para (auto iter = students. Begin (); iter! = Students. End (); iter ++) {cout 

Isso declara que Iter é um iterador de qualquer tipo que seja retornado pela lista de métodos:: begin () , evitando as declarações torturadas mostradas no fragmento de código anterior.Quão legal é isso!

Programação c ++: faça o seu caminho através de uma lista - manequins

Escolha dos editores

Filmando fotos em situações especiais com Canon Rebel Série T3 Câmeras - manequins

Filmando fotos em situações especiais com Canon Rebel Série T3 Câmeras - manequins

ÀS vezes haverá não há problema em tirar o seu Canon Rebel T3 ou T3i fora e tirar fotos com configurações automáticas. A maior parte do tempo, você pode fazer com alguns ajustes simples. Alguns assuntos e situações de filmagem apresentam alguns desafios adicionais que exigem combinações de configurações mais complicadas. ...

Escolha dos editores

Obtendo o WordPress. org Software - dummies

Obtendo o WordPress. org Software - dummies

Depois de classificar seu host e domínio do site, você deve baixar e extrair os arquivos do WordPress pela WordPress. org e colocá-los no seu computador. Escolha um lugar que você lembrará, como um diretório de Documentos ou Download. Siga estas etapas: aponte seu navegador para o WordPress. org. A página principal do WordPress aparece. Clique em ...

Google AdSense para Bloggers de Mom - dummies

Google AdSense para Bloggers de Mom - dummies

Google O AdSense não é uma rede de anúncios orientada para a mãe, nem é A melhor opção de publicidade para a maioria dos blogs da mãe. Há certamente exceções a isso, especialmente se você blogar sobre produtos ou marcas. Todos os blogueiros que exibem publicidade devem ter um provedor de anúncios de backup - e o AdSense é uma ótima solução para essa necessidade. AdSense aprova ...

Relatório de conteúdo principal do google Analytics - dummies

Relatório de conteúdo principal do google Analytics - dummies

O relatório Top Content é um dos relatórios mais importantes no Google Analytics. Este relatório mostra as postagens mais populares no blog da sua mãe. Seu conteúdo popular dá uma visão do porquê seus leitores chegam até você. Os tópicos dessas postagens indicam o que as pessoas gostam, mesmo quando não comentam. Para visualizar ...

Escolha dos editores

Como fazer uma imagem disparar um link - as manequins

Como fazer uma imagem disparar um link - as manequins

Usam imagens para navegação . Eles são mais bonitos que os links de texto simples, e você pode adicionar a forma e a função na sua página com um elemento. Para criar uma imagem que desencadeia um link, você substitui um elemento no lugar do texto ao qual você ancoraria seu link. Esta marcação liga o texto: ...

Como abrir links em novos Windows ou Tabs com HTML5 - dummies

Como abrir links em novos Windows ou Tabs com HTML5 - dummies

O A web funciona porque você pode vincular páginas em seu site para páginas nos sites de outras pessoas usando um elemento de âncora simples. Quando você liga para o site de outra pessoa, você envia usuários para longe de seu próprio site. Para manter os usuários no seu site, HTML pode abrir a página vinculada em uma nova janela ...

Como criar tabelas em HTML5 - dummies

Como criar tabelas em HTML5 - dummies

O recipiente de marcação primária para tabelas em HTML é a tabela elemento. Ou seja, você usa a tag de abertura para denotar o início de uma tabela e você adiciona a tag de fechamento para encerrá-la. Além disso, os blocos de construção básicos para dados de tabela em HTML são a linha da tabela ( ) e os dados da tabela ...