找回密码
 欢迎注册
查看: 43|回复: 5

[讨论] 在 C++ 中,如何定义一个单行注释宏

[复制链接]
发表于 前天 17:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
希望的效果如下:
  1. #define COMMENT //

  2. // 这不会工作,因为宏展开发生在注释处理之前
  3. COMMENT 这行代码不会被注释掉
复制代码

注意:上面是“错误的尝试(不会工作)

点评

摘自询问 deepseek 的结果  发表于 前天 22:24
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 前天 18:13 | 显示全部楼层
这个需求很诡异. 不过可以试试这种
  1. #define COMMENT if(false)
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 前天 18:53 | 显示全部楼层
上面的勉强可用在 .cpp 文件里,无法用在 .h 文件做声明屏蔽
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 前天 19:09 | 显示全部楼层
  1. #define SCAN( x )   x
  2. #define COMMENT     SCAN( / ) ## SCAN( / )

  3. COMMENT 这行代码将会被注释掉
复制代码

改写了下,似乎可以达到效果。

大家可以测试一下
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 昨天 16:11 | 显示全部楼层
我在gcc/ubuntu, clang/macOS环境下都编译失败
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2025-10-5 04:25 , Processed in 0.023246 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表