Visão geral da STL (Biblioteca Padrão) C++
Todas as entidades da biblioteca C++ são declaradas ou definidas em um ou mais cabeçalhos padrão. Essa implementação inclui dois outros cabeçalhos, <hash_map>
e <hash_set>
, que não são necessários no Padrão C++. Para obter uma lista completa de cabeçalhos para os quais essa implementação dá suporte, confira Referência de arquivos de cabeçalho.
O padrão C++ define dois tipos de bibliotecas em conformidade:
- Uma implementação hospedada, que dá suporte a todos os cabeçalhos de biblioteca padrão necessários descritos pelo padrão ISO do C++.
- Uma implementação autônoma, que requer apenas um subconjunto de cabeçalhos de biblioteca padrão. O subconjunto necessário é:
Subconjunto de cabeçalhos autônomos | ||
---|---|---|
<atomic> (declarando pelo menos atomic_signed_lock_free e atomic_unsigned_lock_free ) |
<cstdint> |
<ranges> |
<bit> |
<cstdlib> (declarando pelo menos abort , atexit , at_quick_exit , exit , quick_exit ) |
<ratio> |
<cfloat> |
<exception> |
<tuple> |
<climits> |
<functional> |
<typeinfo> |
<compare> |
<initializer_list> |
<source_location> |
<concepts> |
<iterator> |
<type_traits> |
<coroutine> |
<limits> |
<utility> |
<cstdarg> |
<memory> |
<version> |
<cstddef> |
<new> |
Os seguintes cabeçalhos foram preteridos desde o C++11: <ciso646>
, <cstdalign>
e <cstdbool>
.
Outras diferenças entre implementações autônomas e hospedadas são:
- As implementações hospedadas exigem uma função global chamada
main
. Uma implementação autônoma pode definir as próprias funções de inicialização e encerramento. - As implementações hospedadas devem dar suporte a mais de um thread em execução ao mesmo tempo. Os implementadores de implementações autônomas decidem se a biblioteca deve dar suporte a threads simultâneos.
A biblioteca padrão do Microsoft C++ atende aos requisitos autônomos e hospedados.
Os cabeçalhos da biblioteca C++ têm duas subdivisões mais amplas:
Convenções de iostreams.
Conversões de referência da STL (Biblioteca Padrão) C++.
Esta seção contém as seguintes seções:
Para obter mais informações sobre as bibliotecas em tempo de execução Visual C++, consulte Recursos da biblioteca CRT.
Observação
A implementação da Biblioteca Padrão C++ da Microsoft geralmente é chamada de STL ou Biblioteca de Modelos Padrão. Embora Biblioteca Padrão do C++ seja o nome oficial da biblioteca conforme definido na ISO 14882, devido ao uso popular de "STL" e "Biblioteca de Modelos Padrão" nos mecanismos de pesquisa, eventualmente usamos esses nomes para facilitar a localização da documentação. De uma perspectiva histórica, originalmente, "STL" se referia à Biblioteca de Modelos Padrão escrita por Alexander Stepanov. Partes dessa biblioteca foram padronizadas na Biblioteca Padrão C++, juntamente com a biblioteca de runtime ISO C, partes da biblioteca Boost e outras funcionalidades. Às vezes, o termo "STL" também é usado para se referir aos contêineres e partes de algoritmos da Biblioteca Padrão C++ adaptados da STL de Stepanov. Nesta documentação, a STL (Biblioteca de Modelos Padrão) refere-se à Biblioteca Padrão C++ como um todo.