#define后面再加#号或##号的作用

#define后面再加#号的作用:

#define后面如果再加一个 # 号,那么这个符号的作用是文本参数“字符串化”,即出现在宏定义字符文本中的#把跟在后面的参数转换成一个C++字符串常量。

#define POUT1(x)  printf(#x);

#define POUT2(x)  printf(x);


POUT1(Hello World!); //语法正确

POUT1("Hello World!");//语法也正确

POUT2(Hello World!);//语法错误

POUT2("Hello World!");//语法正确


#define后面再加##号的作用:


#define后面如果再加# # 号,那么这个##的作用是将两个字符文本连接成一个字符文本,如果其中一个字符文本是宏定义的参数,连接会在参数替换后发生。

#define SET1(arg) A##arg=arg;

#define SET2(arg) Aarg=arg;


SET1(1); //宏替换将SET1(1)替换为 A1=1;

SET2(1);//宏替换将SET1(1)替换为Aarg=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值