返回信息流在宏定义的时候用到双井号(##)有什么作用,这样有什么好处呢?在看DSP,里面都是这玩意,感觉C语言不够用了。
这是一条镜像帖。来源:北邮人论坛 / cpp / #73874同步于 2013/9/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
C语言 双井号
HFlyaway
2013/9/24镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
#在英语里面叫做 pound
在C语言的宏定义中,一个#表示字符串化;两个#代表concatenate
在宏定义中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),即无论后面的宏变量是字符串还是常量,都当成字符来处理。
而## 被称为连接符(concatenator),用来将两个Token连接为一个Token。注意这里连接的对象是Token就行,而不一定是宏的变量。
原文:http://blog.csdn.net/chary8088/article/details/8562994
【 在 afeionline 的大作中提到: 】
: #在英语里面叫做 pound
: 在C语言的宏定义中,一个#表示字符串化;两个#代表concatenate
: 在宏定义中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),即无论后面的宏变量是字符串还是常量,都当成字符来处理。
: ...................
谢谢解答,这个实在看DSP的时候头文件中的宏定义用到的,研究了一下,差不多明白了。[ema0]