#include
Remonter à Directives du préprocesseur - Index
Syntaxe
#include <header_name> #include "header_name" #include <macro_definition>
Pour plus d'informations à propos de la syntaxe #include avec les compilateurs C++ améliorés par Clang, voir Compilateurs C++ améliorés par Clang, Recherches et chemins #include.
Description
La directive #include intègre d'autres fichiers nommés (appelés fichiers d'inclusion, fichiers d'en-tête ou en-têtes) dans le code source. La syntaxe se présente sous trois versions :
- Les deux premières versions impliquent qu'aucun développement de macro ne sera tenté. En d'autres termes,
header_name
ne sera jamais analysé pour les identificateurs de macros.header_name
doit être un nom de fichier valide avec une extension (traditionnellement .h pour les fichiers d'en-tête), et éventuellement un nom de chemin et des délimiteurs de chemins. - La troisième version suppose que ni
<
ni"
n'apparaît en tant que premier caractère différent d'un espace après #include. En outre, elle suppose l'existence d'une définition de macro qui développera l'identificateur de macro en un nom d'en-tête valide, délimité, au format<nom_en_tête>
ou"nom_en_tête"
.
Le préprocesseur retire la ligne #include et la remplace conceptuellement par le texte entier du fichier d'inclusion au même endroit dans le code source. Le code source lui-même n'est pas modifié, mais le compilateur "voit" le texte agrandi. L'emplacement de #include peut en effet influencer la portée et la durée de vie des identificateurs figurant dans le fichier inclus.
Si vous placez un chemin explicite dans nom_en_tête
, seul ce répertoire sera soumis à la recherche.
La différence entre les formats <nom_en_tête>
et "nom_en_tête"
réside dans l'algorithme de recherche employé en essayant de localiser le fichier d'inclusion :
Forme de la syntaxe | Algorithme de recherche |
---|---|
Forme Guillemets |
La version
|
Forme Crochets angulaires |
La version |