c ++:#define一个新的跳过关键字/ make compile ignore代码

时间:2016-01-26 00:42:54

标签: c++ metaprogramming

有没有办法做类似

的事情
#define commentstart /*

#define ignore #ifdef 0

? 我基本上想让编译器忽略在两个关键字之间编写的任何代码,我自己定义。有什么建议吗?

示例

COMMENTSTART
whatever I write here will not be taken as code
COMMENTEND

1 个答案:

答案 0 :(得分:3)

C / C ++不允许宏定义中的预处理程序语句。同样的评论故事。评论不能跨越宏观边界。

我不认为您对COMMENTSTART / COMMENTEND的想法是个好主意。当知名和有效的东西已经存在时,引入新东西有什么意义?如果你要写

#if 0
   ..............
#endif

每个人都会立即明白这是什么意思。试试这几次,过了一会儿你就会对此感到满意。