(这种做法不如直接用const来直接定义瑺量)
2.代替模板函数或者内联函数,将函数定义成宏执行效率很快
[1]函数定义块如果需要换行,那么换行是结尾需加反斜杠
[2]可以利用decltype来获嘚函数参数的类型方便函数中内容的执行
[3]利用do while(0)可以使函数中的变量变成局部变量,且使语法清晰减少出错
[4]有时可用这种宏的方式可以代替c++的模板执行效率要比模板快
[5]因为是文本替换,所以尽量不要把分号写进去在调用的时候补充分号
可以利用#if #elif #else #endif来进行编译时的逻辑处理。逻辑判断的内容主要是是否define了某个宏检查是按照文件声明顺序依次来的。
[1]可以使用与或非逻辑判断
[3]可利用这个防止头文件被重复加载也能用这个来编写Logger,只需修改某个头文件的DEBUG宏就能让程序中的所有Logger开启或关闭打印。
还能正确包含“stdio.h”头文件吗?
实测没影响但想究其原因,望大咖给看开!!!!
已知""内的内容不做宏替换
没有什么影响,哪儿有讲这方面理论的吗我在书上和网上都没找到
没有什么影响哪儿有讲这方面理论的吗?我茬书上和网上都没找到
#define和#include都是预处理命令两者是并列关系,不存在相互调用关系我猜。
简单的讲就是编译预处理,宏替换的问题對于""中出现的宏名不做替换。
你觉得它下面的所有define 是不是就是空了呢
这是鸡生蛋,蛋生鸡的问题
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。