Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
Como aprender contêineres STL
As classes de contêineres do STL tornar a programação produtivo , seguro e robusto. São matrizes inteligentes que executam automaticamente a alocação de memória , é possível redimensionar , deixá-lo passar variáveis ​​por referência, inserir elementos em qualquer ponto , todos com chamas eficiência. Eles fornecem uma boa razão para mudar de C , com suas matrizes mudos para C + +. STL oferece dois tipos de classes container : simples e associativos, onde uma chave está associada a cada objeto armazenado. Coisas que você precisa
Conhecimentos básicos de C + +
Um compilador C + + , e de preferência um ambiente de desenvolvimento integrado
Show Mais instruções
1

Ler e opcionalmente memorizar as duas categorias de classes container . Memorizá-las não faz mal a ninguém e será um benefício para você , a longo prazo
Containers Simples: . Vetor <> , listas < > , <>, pilha fila <>, <> deque
Associativo Containers: mapa < > , conjunto < > , multimap < > , multiconjunto < >
2

Saiba mais sobre todas as classes de contêineres pelo que está sendo mostrado como um recipiente simples podem ser usados. Este tutorial irá ilustrar os métodos de vetor < > .
3

Atribuir um tamanho para o vetor. Você pode atribuir o tamanho do vetor usando qualquer um dos construtores sobrecarregados . Além disso, você pode utilizar a reserva () ou atribuir método () depois de ter declarado um vetor. Todos os métodos são mostrados abaixo:
vetor arr (50 ) //especificar a capacidade
vetor arr (50, 17 ) //especificar a capacidade e dar todos os elementos de um valor padrão (17)
arr2 vetor (arr ) //inicializar um vetor de outro vetor
vetor vec ;
vec.reserve (100 ) //ou de reserva de uso () para alocar memória
4

Iterate através de um vetor. Você pode fazer isso usando o operador padrão de índice [] ou através de iteradores , que são uma característica especial STL . Suas habilidades estão além do escopo deste tutorial. Os seguintes trechos de código demonstrar o tamanho ( ) , begin () e end ( ) membros :
//usando o padrão de indexação
for (int i = 0; i } cout
//usando iteradores
for ( vector < > :: iterator iter = vec.begin (); ! iter = vec.end (); iter + +) { cout
}
5

Adicionar um elemento no final , . remover esse elemento, inserir um elemento no meio e retornar o tamanho do recipiente Você pode realizar todas essas funções , usando a push_back () , pop_back () , insert ( ) e tamanho () métodos , respectivamente, como mostrado abaixo: < br > vec.push_back (35);
vec.pop_back ();
vec.insert ( pos , 19 ) //pos é o local
cout
6

Apague os elementos dentro um intervalo, apagar o resto dos elementos e certifique-se que o vetor está vazio. Para estes, você usa a apagar as funções de membro () , clear () e empty () .
vec.erase ( vec.begin () + 5, vec.end () - 5 ) //apagar todos os elementos, exceto o primeiro eo último 5
vec.clear () //apagar todos os elementos
if (true vec.empty == () . ) {... } //verificar se vetor é vazio
7

Confira todas as funções de membro oferecidos em vetor < > Muitos são comuns em todo o resto das classes container :
_Destroy () , _Eq () , _Lt () , _Ucopy () , _Ufill () , atribuir () , em ( ) , begin () , para trás ( ), capacidade () , clear () , empty () , end () , apagar () , frente ( ) , get_allocator () , max_size () , insert ( ) , o operador = , o operador [], pop_back () , push_back () , rbegin () , rend () , reserva () , redimensionar ( ) , size () , swap ( ) , ~ vetor ().
8

Certifique-se de incluir o arquivo de cabeçalho vector.h na parte superior do seu arquivo de origem antes de testar este código para você mesmo . cada classe container tem seu próprio arquivo de cabeçalho. uma lista < > exigirá list.h , uma fila < > exigirá Queue.h , e assim por diante .

Anterior :

Próximo : No
  Os artigos relacionados
·Como usar o C + + Classe Template Especialização 
·Tutorial Visual Basic 
·Como ter variáveis ​​anuláveis ​​
·Como usar números negativos em C 
·Como instalar o Windows Mobile 5.0 Pocket PC SDK 
·Como aprender ponteiros em C 
·Como alocar um ponteiro matriz 2D 
·Como ajustar Ponteiros para Returns Covariant 
·Como adicionar Glut Com o Visual C 
·As vantagens do C + + Estrutura Repetição 
  Artigos em destaque
·Como transmitir vídeo em XCode 
·O que é o Alpha Blending 
·Como definir o nível de isolamento em ODBC 
·Como converter e Decode HTML em um String no iPhone 
·O que é depuração em programação C 
·Como criar um Func_Train em GtkRadiant 
·Como compilar C + + arquivos de cabeçalho 
·Como saltar de um função void em C + + 
·Como compilar C Projetos 
·Como compilar o código C como uma Biblioteca 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados