C++之 把字符串作为宏参数

来源:互联网 发布:电子数据的作用 编辑:程序博客网 时间:2024/06/13 00:43

#define PrintString(arg) cout<<#arg

在宏表达式中,字符#放在参数arg的前面,表示在进行转换时,参数放在双引号中。

如:PrintString(hello);

预处理器就会把它转换为:cout<<”hello”;

 

 

逻辑#if指令:
       逻辑#if指令的使用方式有两种。第一,可以测试某个符号以前是否用#define指令定义过。第二,可以测试某个常量表达式是否为真。

       要测试某个标识符是否存在(在以前的#define指令中定义),可以使用如下所示的指令:

#if defined 标识符

如果指定的标识符已定义,#if后面的语句组就包含在要编译的源文件中。这个语句组用如下指令结束:#endif

如果标识符还未定义,就跳过#if#endif之间的语句,它们也不是程序的一部分。

 

防止代码重复:

       也可以测试标识符是否不存在。这个指令的一般形式如下所示:

#if !define 标识符

如果标识符以前没有定义,就把#if#endif之间的语句包含在要编译的源文件中,其缩写方式如下:#ifndef标识符

 

 

原创粉丝点击