*   >> Leitura Educação Artigos >> science >> programação

Associativa Container em C ++ Simplificado

Associativo Container em C ++ simplificado Introdução Um contêiner é um objeto instanciado, que tem uma lista (array) como sua característica fundamental. Ao contrário de uma lista de matriz, um recipiente pode crescer ou diminuir de tamanho (comprimento). Recipientes diferentes têm diferentes propriedades e métodos. Existem dois tipos de classes de contêiner, chamados de Sucessões e associativas Containers. Neste artigo, eu apresentá-lo a uma série de tutoriais em C ++ Associativo Containers.

Eu escrevi uma série diferente para Containers Sequence, que eu sugiro que você leia antes de ler este. Diferença entre Sequence Container e Associativo Container A principal diferença entre uma seqüência Containers e um Container Associativo é que uma seqüência recipiente (vector) usa um índice para acessar o valor do elemento, enquanto o recipiente associativo (Mapa) usa uma chave (texto) para acesso o valor do elemento. Limitações da matriz Imagine que você deseja excluir o elemento de uma matriz C ++. Isso não é possível.

Você pode definir o valor de um C ++ matriz para NULL, mas você não pode excluir o elemento. Imagine que você gostaria de adicionar um elemento (com valor) para o início da matriz. Isso não é possível. Imagine que você deseja adicionar um elemento (com valor) para o fundo de uma matriz. Isso não é possível com a matriz C ++. Esses e outros requisitos são necessários nos programas modernos. Solução para as limitações do C ++ matriz porque as limitações acima, C ++ veio com as sequências e recipientes associativos. Existem diferentes formas de recipiente associativo.

Um deles chamado, o mapa resolver os problemas acima e mais. Cada contêiner associativo tem suas vantagens e desvantagens. C ++ é uma linguagem completa. Nada é realmente deixado de fora. Se você estudou uma língua como JavaScript, você teria notado que a sua matriz é na verdade um objeto, que resolve os problemas acima com métodos. A matriz C ++ não é um objeto, no sentido estrito da palavra. No entanto, em C ++, os recipientes associativos são objectos. C ++ é uma linguagem antiga e por isso abordado este problema a partir de um ponto de vista original.

Na minha opinião, os autores (inventores) de algumas das novas línguas tem sua inspiração de C ++. Então eles vieram com compromissos. Eles cana-up com matrizes que são objetos, que irá fazer algumas das coisas que o C ++ recipientes fazer, mas não todos. Na verdade, JavaScript em particular, não têm qualquer equivalente ao rec

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.