standard template library
Uma visão geral completa da biblioteca de modelos padrão (STL):
A Biblioteca de Modelos Padrão (STL) do C ++ é uma coleção de classes de modelos que fornecem estruturas de dados como arrays, vetores, fila, etc. STL é uma biblioteca que consiste em contêineres, algoritmos e iteradores.
Como STL consiste em uma coleção de classes de modelo, é uma biblioteca generalizada que é independente dos tipos de dados.
=> Leia a extensa série de tutoriais de treinamento em C ++ aqui.
O que você aprenderá:
Perguntas e respostas da entrevista de analista de negócios para o domínio bancário
Componentes de STL
STL consiste principalmente nos seguintes componentes que são mencionados abaixo:
# 1) Recipientes
Um contêiner é uma coleção de objetos de um tipo específico de estrutura de dados. Em STL, temos vários tipos de classes de contêiner como Array, vetor, fila, deque, lista, mapa, conjunto, etc. Esses contêineres são genéricos por natureza e são implementados como modelos de classe.
Os contêineres são dinâmicos por natureza e podem ser usados para armazenar vários tipos de objetos.
# 2) Algoritmos
Algoritmos são os métodos ou funções que atuam nos contêineres. Usando algoritmos fornecidos pela STL, podemos ter métodos para pesquisar, classificar, modificar, transformar ou inicializar o conteúdo dos objetos da classe recipiente.
Os algoritmos fornecidos pela STL têm funções integradas que podem operar diretamente em estruturas de dados complexas, em vez de termos que escrever os algoritmos nós mesmos.
Por exemplo, A função reverse () em STL pode ser usada para reverter a lista vinculada.
# 3) Iteradores
Os iteradores são a característica muito importante e distintiva do STL. Iteradores são as construções usadas para percorrer os objetos do contêiner. Semelhante aos índices que usamos para percorrer os arrays, os iteradores atuam em objetos de classe de contêiner e podem ser usados para percorrer os dados.
Recipientes
Os contêineres armazenam objetos e dados. Eles são basicamente classes genéricas baseadas em modelos.
Os contêineres em STL são divididos nos seguintes tipos:
# 1) Contêineres sequenciais
Contêineres que podem ser acessados de maneira sequencial ou linear são chamados de contêineres sequenciais.
Matrizes, vetores, listas e deques são os contêineres STL que armazenam dados linearmente e podem ser acessados de maneira sequencial.
# 2) Recipientes associativos
Os contêineres associativos são contêineres que implementam estruturas de dados classificados. Esses contêineres são fáceis de pesquisar. Alguns dos Exemplos de contêineres associativos são Map, Set, MultiMap, Multiset, etc. Esses contêineres são geralmente implementados em um par de chave / valor.
# 3) Adotadores de contêineres
Os usuários de contêineres são contêineres sequenciais; no entanto, eles são implementados fornecendo uma interface diferente. Assim, contêineres como queue, deque, stack e priority-queue são classificados como usuários de contêineres.
Iteradores
Iteradores são construções que usamos para percorrer ou percorrer contêineres em STL. Os iteradores são muito importantes em STL, pois atuam como uma ponte entre algoritmos e contêineres. Iteradores sempre apontam para contêineres e, na verdade, algoritmos operam em iteradores e nunca diretamente em contêineres.
Os iteradores são dos seguintes tipos:
melhor conversor de vídeo para windows 7
- Iteradores de entrada: Mais simples e usado principalmente em algoritmos de passagem única.
- Iteradores de saída: Igual aos iteradores de entrada, mas não usados para travessia.
- Iteradores bidirecionais: Esses iteradores podem se mover em ambas as direções.
- Iteradores de encaminhamento: Pode ser usado apenas na direção para frente, um passo de cada vez.
- Iteradores de acesso aleatório: O mesmo que ponteiros. Pode ser usado para acessar qualquer elemento aleatoriamente.
Algoritmos
Algoritmos são um conjunto de funções ou métodos fornecidos pelo STL que atuam em contêineres. Essas são funções integradas e podem ser usadas diretamente com os contêineres e iteradores STL, em vez de escrever nossos próprios algoritmos.
STL suporta os seguintes tipos de algoritmos:
- Algoritmos de pesquisa
- Algoritmos de classificação
- Modificando ou manipulando algoritmos
- Algoritmos não modificadores
- Algoritmos numéricos
- Algoritmos mínimo / máximo
Como cada um dos tipos de algoritmo sugere, esses algoritmos podem ser usados para atingir diferentes funcionalidades em contêineres STL, como pesquisa, classificação, transformação dos dados nos contêineres, localização de valor mínimo / máximo, etc.
Conclusão
Esta é uma breve introdução à Biblioteca de modelos padrão. Em nossos próximos tutoriais, aprenderemos mais sobre cada um dos contêineres, algoritmos e iteradores.
=> Verifique a série completa de treinamento C ++ GRÁTIS aqui.