He estado mirando el código fuente de las bibliotecas Boost , y he notado que a menudo hay signos de una sola libra sin ninguna directiva de preprocesador adjunta. Leí el manual del preprocesador GCC y la guía de especificaciones y no puedo encontrar nada al respecto.
(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
En la línea 4, no hay nada después del signo de libra. ¿Qué efecto tiene esto? ¿Está definido en la especificación del preprocesador C (CPP)?
Como Boost es una biblioteca multiplataforma, supongo que cualquier CPP debería analizarla correctamente. ¿Cuál sería el efecto / efectos secundarios de tener signos aleatorios de libra / hash en todo el código?