最佳答案
正如在我之前的许多问题中提到的,我正在通过 K & R 工作,目前正在进入预处理程序。其中一个更有趣的东西 & mash; 我从来没有知道我以前的任何尝试学习 C & mash; 是 ##
预处理器操作符。根据 K & R 的说法:
预处理器操作员
##
提供了一种连接实际 参数。如果 替换文本中的参数为 接近##
,则参数为 被实际参数取代##
和周围的空白是 删除,并重新扫描结果。 例如,宏paste
将它的两个论点联系在一起:
#define paste(front, back) front ## back
因此
paste(name, 1)
创建标记name1
.
为什么会有人在现实世界中使用它?它的实际应用有哪些例子,有哪些陷阱需要考虑?