"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como os cabeçalhos da biblioteca padrão C++ garantem a inclusão de outros cabeçalhos ou fornecem funções específicas sem inclusão explícita?

Como os cabeçalhos da biblioteca padrão C++ garantem a inclusão de outros cabeçalhos ou fornecem funções específicas sem inclusão explícita?

Publicado em 23/12/2024
Navegar:362

How do C   standard library headers guarantee the inclusion of other headers or provide specific functions without explicit inclusion?

Cabeçalhos na biblioteca padrão C com inclusões garantidas

Na maioria dos casos, os cabeçalhos da biblioteca padrão C têm relacionamentos de inclusão não especificados. No entanto, há exceções em que cabeçalhos específicos garantem a inclusão de outros cabeçalhos ou fornecem determinadas funções sem sua inclusão.

Cabeçalhos com garantia de inclusão de cabeçalhos específicos:

  • Lista de inicializadores () é incluída por:

    • Utilitário ()
    • String ()
    • Array ()
    • Desenfileirar ()
    • Forward List ( )
    • Lista ()
    • Vetor ()
    • Mapa ()
    • Conjunto ()
    • Mapa não ordenado ()
    • Conjunto não ordenado ()
    • Fila ()
    • Pilha ()
    • Algoritmo ()
    • Aleatório ()
    • Valarray ()
    • Regex ()
  • Fluxo de entrada/saída () inclui:

    • Estado de entrada/saída ()
    • Stream Buffer ()
    • Fluxo de entrada ( )
    • Fluxo de saída ()
  • Estado de entrada/saída () inclui:

    • Declarações futuras ()
  • Bitset () inclui:

    • String ()
    • Declarações futuras ()

Garantia de cabeçalhos Disponibilidade da função:

Os modelos de função std::begin, std::end e suas variantes (cbegin, crend, etc.) são definidos principalmente no cabeçalho Iterator (). No entanto, eles também estão disponíveis ao incluir qualquer um dos seguintes cabeçalhos:

  • Array ()
  • Dequeue ()
  • Forward List ( )
  • Lista ()
  • Mapa ()
  • Regex ()
  • Set ()
  • String ()
  • Mapa não ordenado ()
  • Conjunto não ordenado ()
  • Vetor ()

Ao incluir std::string_view (), as funções *begin, *end e as sobrecargas genéricas std::swap ficam disponíveis. No entanto, tamanho, vazio e dados não.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3