fieldli
一文读懂Define的所有用法
原创
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
fieldli
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
一文读懂Define的所有用法
一文读懂Define的所有用法
原创
fieldli
关注
发布于 2019-09-29 12:31:10
1.3K
0
发布于 2019-09-29 12:31:10
举报
文章被收录于专栏:
大块小屋-技术
大块小屋-技术
define的常见用法
1.基本用法undefined在编译时期进行替换。如:#define Sum(a,b) a+b //定义为一个基本替换,把Sum(a,b) 替换成a+b.#define INTERFACE //就是说名这是一个接口,只是起到注释作用 #define STR(s) #s //表示s是一个字符串 //如: int a = 0; cout<<"the value of "<< STR(a) << " is: " << a<<endl; #define JOIN(A,B) A##B //表示把A 和B 进行连接 //使用如下 #define XNAME(n) x##n //标识把两个语言符号连在一起 形成新的 xn int XNAME(1) = 10; //int x1=10;#define DoSum(a,b,c) do \ {\ c = a+b;\ }while(0);#define PR(...) printf(__VA_ARGS__) #define PRV2(x,...) printf(x,##__VA_ARGS__) //表示#define DEBUG std::cout<<"define debug" <<endl; #else std::cout<<"not define" <<endl; #endif //编译时,可以在makefile中添加宏定义选项进行传递 ,使用 -D参数 -DDEBUG 比如: gcc -DDUBG//可以直接在代码中使用。 __FILE__ //宏在预编译时会替换成当前的源文件名 __LINE__ //宏在预编译时会替换成当前的行号 __FUNCTION //__宏在预编译时会替换成当前的函数名称
2.阅读方便undefined有时候宏定义只是为了阅读方便起到注释作用,并没有实际含义,如:
3.字符串指示与连接
4.多行预定义undefined一般用来预定一个类函数的语句块。主要是为了使用方便。
5.可变变量
6.宏条件定义
7.其他系统定义
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
c++
打包
编程算法
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
c++
打包
编程算法
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
关注
文章
0
获赞
0
目录
define的常见用法
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐