J'ai regardé le code source des bibliothèques Boost , et j'ai remarqué qu'il y a souvent des signes dièse sans aucune directive de préprocesseur qui leur est attachée. J'ai lu le manuel et le guide des spécifications du préprocesseur GCC et je ne trouve rien à ce sujet.
(1) #ifndef BOOST_CONFIG_HPP
(2) # include <boost/config.hpp>
(3) #endif
(4) #
(5) #if defined(BOOST_HAS_PRAGMA_ONCE)
(6) # pragma once
(7) #endif
Sur la ligne 4, il n'y a rien après le signe dièse. Quel effet cela a-t-il? Est-il défini dans la spécification du préprocesseur C (CPP)?
Comme Boost est une bibliothèque multiplateforme, je suppose que tout CPP devrait l'analyser correctement. Quels seraient les effets / effets secondaires d'avoir des signes dièse / hachage aléatoires dans tout le code?