您的位置:首页 > 编程语言 > C语言/C++

C++/C 宏定义(define)中# ## 的含义(转)

2016-10-10 11:50 295 查看


C++/C 宏定义(define)中# ## 的含义

define 中的# ## 一般是用来拼接字符串的,但是实际使用过程中,有哪些细微的差别呢,我们通过几个例子来看看。

#是字符串化的意思,出现在宏定义中的#是把跟在后面的参数转成一个字符串;

eg:

##是连接符号,把参数连接在一起

再看一个具体的例子



 

去掉#号我们得到这样的结果,直接把a,b的值打印出来了,这是符合语法规则的,所以#的作用显而易见。

 


再贡献一个自己写的例子

#include <iostream>

using namespace std;

#define OUTPUT(num) cout<<"l_i"<<#num<<":"<<l_i##num<<endl;

int main()
{
int l_iA = 0;
int l_iB = 10;
int l_iC = 110;
OUTPUT(A);
OUTPUT(B);
OUTPUT(C);
return 0;
}



转自:

http://www.cnblogs.com/little-ant/p/3463080.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: