Maison >développement back-end >C++ >Comment les en-têtes de bibliothèque standard C garantissent-ils l'inclusion d'autres en-têtes ou fournissent-ils des fonctions spécifiques sans inclusion explicite ?

Comment les en-têtes de bibliothèque standard C garantissent-ils l'inclusion d'autres en-têtes ou fournissent-ils des fonctions spécifiques sans inclusion explicite ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-29 09:05:30350parcourir

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

En-têtes de la bibliothèque standard C avec inclusions garanties

Dans la plupart des cas, les en-têtes de la bibliothèque standard C ont des relations d'inclusion non spécifiées. Cependant, il existe des exceptions où des en-têtes spécifiques garantissent l'inclusion d'autres en-têtes ou fournissent certaines fonctions sans leur inclusion.

En-têtes garantis pour inclure des en-têtes spécifiques :

  • La liste d'initialisations () est incluse par :

    • Utility ()
    • String ()
    • Array ()
    • Supprimer la file d'attente ()
    • Transférer la liste ()
    • Liste (< list>)
    • Vecteur ()
    • Carte ()
    • Ensemble ()
    • Carte non ordonnée ()
    • Ensemble non ordonné ()
    • File d'attente ()
    • Pile ()
    • Algorithme ()
    • Aléatoire ()
    • Valarray ()
    • Regex ()
  • Flux d'entrée/sortie () comprend :

    • État d'entrée/sortie ()
    • Tampon de flux ()
    • Flux d'entrée ()
    • Flux de sortie ()
  • État d'entrée/sortie () comprend :

    • Déclarations avant ()
  • Bitset () comprend :

    • Chaîne ()
    • Déclarations avant (

En-têtes garantissant la disponibilité des fonctions :

Les modèles de fonctions std::begin, std::end, et leurs variantes (cbegin, crend, etc.) sont principalement définis dans l'en-tête Iterator (). Cependant, ils sont également disponibles en incluant l'un des en-têtes suivants :

  • Array ()
  • Supprimer la file d'attente ()
  • Transférer la liste ()
  • Liste (< list>)
  • Map ()
  • Regex ()
  • Set ()
  • String ( )
  • Carte non ordonnée ()
  • Ensemble non ordonné ()
  • Vecteur ()

Lors de l'inclusion de std::string_view (), les fonctions *begin, *end et les surcharges génériques std::swap deviennent disponibles. Cependant, la taille, le vide et les données ne le sont pas.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn