我一直在研究 加油库的源代码,我注意到通常有一个没有任何预处理器指令附加到它们的单磅符号。我通读了 GCC 的预处理器手册和规范指南,找不到任何关于它的东西。
(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
在第4行,英镑符号后面什么也没有。这有什么影响?它是在 C 预处理器(CPP)规范中定义的吗?
因为 Boost 是一个跨平台库,所以我认为任何 CPP 都应该正确地解析它。在整个代码中使用随机的井号/杂凑符号会产生什么效果/副作用?