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
相关文章推荐
- C++/C 宏定义(define)中#和## 的含义
- C++/C 宏定义(define)中# ## 的含义(转)
- C++/C 宏定义(define)中# ## 的含义 宏拼接
- C++/C 宏定义(define)中# ## 的含义
- C++/C 宏定义(define)中# ## 的含义 宏拼接
- C++/C 宏定义(define)中# ## 的含义
- C++/C 宏定义(define)中# ## 的含义(转)
- 用define 宏定义注释符号
- 模板template和宏定义define一起的例子
- C++编程:const常量与define宏定义的区别
- typedef(自定义数据类型)与#define(宏定义)用法比较(前者定义指针比define好用)
- min()的宏定义中的(void) (&_x == &_y)的含义
- C&C++中的宏定义——#define
- min()的宏定义中的(void) (&_x == &_y)的含义
- define进行多行宏定义
- C++/C宏定义中## 连接符与# 符的含义
- unity3d DefineManager 全局宏定义
- 【锐捷笔试题】将整形变量a的最高n位清零,其它位不变,宏定义:#define clear_bits(a,n)
- define宏定义和const常量定义之间的区别
- 使用宏定义让参数含义更清晰