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

#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 标识符

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值