Ho esaminato il codice sorgente delle librerie Boost e ho notato che spesso ci sono singoli segni di cancelletto senza direttive del preprocessore ad essi collegate. Ho letto il manuale del preprocessore GCC e la guida alle specifiche e non riesco a trovare nulla al riguardo.
(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
Sulla linea 4, non c'è nulla dopo il cancelletto. Che effetto ha questo? È definito nella specifica del preprocessore C (CPP)?
Poiché Boost è una libreria multipiattaforma, suppongo che qualsiasi CPP dovrebbe analizzarlo correttamente. Quale sarebbe l'effetto / gli effetti collaterali di avere segni di cancelletto / cancelletto casuali in tutto il codice?