J'ai vu du code comme celui-ci généralement au début des fichiers d'en-tête:
#ifndef HEADERFILE_H
#define HEADERFILE_H
Et à la fin du fichier se trouve
#endif
Quel en est le but?
#pragmavaut mentionner ce qu'est un : il active une fonctionnalité spécifique au compilateur. Bien qu'il #pragma oncesoit très largement pris en charge, il n'est pas standard.
info cppou regardez ici ) dit "elle n'est pas reconnue par tous les préprocesseurs, vous ne pouvez donc pas vous y fier dans un programme portable.". Et GNU cpp optimise l' #ifndefidiome commun et portable pour qu'il soit aussi efficace que #pragma once.
#ifndef HEADERFILE_Hpeut violer l'espace de noms de l'implémentation du nom de l'en-tête qui commence par E; les identifiants commençant par Eet un chiffre ou une lettre majuscule sont réservés à <errno.h>. Je suggère #ifndef H_HEADERFILE.