c c++ #define 定义假函数

#define   Add(a,b)   ((a)+(b))

#define Max(a,b) ((a)>(b)?(a):(b))

这就定义了一个假的函数

说白了就是字符串替换

这样在写代码时能简化,省去了多打几个括号的功夫

 

但是,它仅仅做的是替换,会有点问题

拿算法笔记上面的例子来说吧

#define CAL(x)  (x*2+1)

下面在函数中调用的时候,如

a=1;

CAL(a+1)

值为多少呢  (1+1)*2+1=5?

其实是 1+1*2+1=4

 

另外,#define 宏定义中

还可以使用   #   ##  #@等符号

posted @ 2019-03-10 15:30  ecnu_lxz  阅读(1023)  评论(0编辑  收藏  举报