宏#与##介绍

有这样一个宏
#define DEFINE_SUPERNAME(name)/
struct super_##name {/
    static const char *getname() {/
        return #name;/
    }/
}
 
具体含义是
#  是宏处理的字符串转换符
#define STRING(exp) #exp
那么 STRING(okokokok) 就相当于 "okokokok"
 
## 是宏处理的标识符拼接符
#define FULL_IDENT(ident) sys_global_##ident
那么 FULL_IDENT(cache) 就等于 sys_global_cache
 
综上 DEFINE_SUPERNAME(suhugo) 相当于
struct super_suhugo{
    static const char *getname() {
        return "suhugo";
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值