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). Visitado em 28 de outubro de 2007.
  2. [1].
  3. libstdc++-v3 FAQ, seção 2.5.
  4. set — C++ Reference (em inglês) C++ Library Reference cplusplus.com - The C++ Resources Network. Visitado em 26 de junho de 2008.
  5. Strings library — C++ Reference (em inglês) C++ Library Reference cplusplus.com - The C++ Resources Network. Visitado em 26 de junho de 2008.
  6. The vector Data Abstraction (em inglês) Rogue Wave Software Roguewave.com. Visitado em 26 de fevereiro de 2008.
  7. vector — C++ Reference (em inglês) C++ Library Reference cplusplus.com - The C++ Resources Network. Visitado em 26 de junho de 2008.

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