宏定义define的不安全性是什么?

来源:百度知道 编辑:UC知道 时间:2024/05/17 21:57:17
C语言中的DEFINE有什么不安全性?相比C++的CONST,有什么不足,而后者有有什么优势呢??
盼高手详细解答

大概是说define的容易被误用吧

#define T(a,b) a+b
...
int x1=2,x2=3,x3=4,x4;
x4=T(x1,x2)*x3;
我们的原意是把x1与x2相加之后再乘x3,但这里会变成先把x2与x3相乘之后再加x1

define 是字面替换,const 是定义变量,看你怎么用了,未必谁就有优势

例如:你能用 const 定义一段代码么?define 就能