Visão geral da STL (Biblioteca Padrão) C++

A biblioteca padrão C++ declara ou define todas as entidades de biblioteca em um ou mais cabeçalhos padrão. 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:

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.

Confira também

Biblioteca Padrão do C++