Biblioteca padrão do C++

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Em C++, a biblioteca padrão é uma coleção de classes, funções e variáveis escritas na própria linguagem para facilitar o desenvolvimento de aplicações. Também incorpora a biblioteca padrão do C, e todas suas funcionalidades estão declaradas no espaço de nomes std.

Visão geral[editar | editar código-fonte]

A biblioteca padrão do C++ fornece vários containers genéricos, funções que utilizam e manipulam tais containers, funções-objeto, cadeias de caracteres e streams genéricos, suporte para algumas facilidades da linguagem e funções de uso geral, como funções matemáticas.

Os containers genéricos são uma implementação de elementos conhecidos em estrutura de dados. Diferentes containers compartilham uma mesma interface, o acesso é o mesmo. A escolha do uso geralmente depende da eficiência em determinadas tarefas que o container deverá desempenhar, o que está relacionado com a implementação interna da classe. Por exemplo, alguns containers são mais eficientes em busca e menos eficientes em inserções.

Ela também incorpora a biblioteca padrão do C90. Desta forma, as biblioteca-padrão do C sofreram uma adequação para pertencerem também ao espaço de nomes std: retirou-se o sufixo .h dos nomes dos arquivos de cabeçalho, e adicionou-se o prefixo c para indicar que pertence à linguagem C.

Os algoritmos, containers e iteradores dessa biblioteca são baseados na STL, e por esse motivo esses dois termos são muitas vezes confundidos. O iterador é um conceito importante da STL, e, portanto, da biblioteca padrão. Ele permite que os algoritmos usem os containers de forma genérica.

Lista de cabeçalhos[editar | editar código-fonte]

Containers[editar | editar código-fonte]

  • <bitset> - manipulação de arranjo de bits, algo parecido com vector<bool> (que é uma construção não recomendada[1] )
  • <deque> - manipulação de lista duplamente ligada
  • <list> - manipulação de lista simplesmente ligada
  • <map> - manipulação de conjunto associativo ordenado (associação: chave → valor)
  • <queue> - manipulação de lista FIFO
  • <set> - manipulação de conjunto
  • <stack> - manipulação de lista LIFO
  • <vector> - manipulação de arranjo

Uso geral[editar | editar código-fonte]

Cadeias de caracteres[editar | editar código-fonte]

Streams e entrada/saída[editar | editar código-fonte]

  • <fstream> - manipulação de fluxo de dados em arquivo
  • <ios> - declaração mais geral de fluxo de dados
  • <iostream> - manipulação de fluxo de dados padrão do sistema (entrada padrão, saída padrão e saída de erros padrão)
  • <iosfwd> - declaração dos fluxos de dados presentes na linguagem
  • <iomanip> - manipulação da apresentação e do processamento de fluxos de dados
  • <istream> - manipulação de entrada de dados
  • <ostream> - manipulação de saída de dados
  • <sstream> - manipulação de fluxo de dados em cadeias de caracteres
  • <streambuf> - manipulação de buffers de fluxo de dados

Funcionalidades numéricas[editar | editar código-fonte]

  • <complex> - manipulação de número complexo
  • <numeric> - operações com conjuntos numéricos
  • <valarray> - arranjo de valores mutáveis

Suporte à linguagem C++[editar | editar código-fonte]

  • <exception> - manipulação de exceção
  • <limits> - manipulação de limites numéricos dos tipos embutidos na linguagem
  • <new> - manipulação de alocação e desalocação de memória
  • <typeinfo> - auxílio para o RTTI do C++

Biblioteca padrão do C[editar | editar código-fonte]

  • <cassert> - adequação de <assert.h>
  • <cctype> - adequação de <ctype.h>
  • <cerrno> - adequação de <errno.h>
  • <cfloat> - adequação de <float.h>
  • <climits> - adequação de <limits.h>
  • <cmath> - adequação de <math.h>
  • <csetjmp> - adequação de <setjmp.h>
  • <csignal> - adequação de <signal.h>
  • <cstdlib> - adequação de <stdlib.h>
  • <cstddef> - adequação de <stddef.h>
  • <cstdarg> - adequação de <stdarg.h>
  • <ctime> - adequação de

  1. Algorithms (em inglês). Rogue Wave Software (1996). Página visitada em 28 de outubro de 2007.
  2. Título não preenchido, favor adicionar.
  3. libstdc++-v3 FAQ, seção 2.5.
  4. set — C++ Reference (em inglês). C++ Library Reference. cplusplus.com - The C++ Resources Network. Página visitada em 26 de junho de 2008.
  5. Strings library — C++ Reference (em inglês). C++ Library Reference. cplusplus.com - The C++ Resources Network. Página visitada em 26 de junho de 2008.
  6. The vector Data Abstraction (em inglês). Rogue Wave Software. Roguewave.com. Página visitada em 26 de fevereiro de 2008.
  7. vector — C++ Reference (em inglês). C++ Library Reference. cplusplus.com - The C++ Resources Network. Página visitada em 26 de junho de 2008.

Ver também[editar | editar código-fonte]