C++中的什么代替了C语言中的带参数宏定义?谢谢

如题,答案是内联函数,有点无法理解
我看到有人说模板可以理解为高级点的宏,这对吗?
还请解答
C++中的什么代替了C语言中的带参数宏定义
这个的答案是啥T_T

模板 inline函数 都不算是宏定义
都不能算完全代替宏
比如inline 函数 是否被直接替换 还是作为普通函数 编译器会自己判断的 而宏是无条件替换
模板 看起来像宏,但实际上它一般不会被带入到函数中
即编译的时候 大多数时候都是有自己的符号的

教科书的话 答案就是内联函数了
这个是唯一一个C++中 可以不产生函数本身符号 而是在编译的时候可以替换到主调函数中的语句类型
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-04-26
#N表示字符串拼接,也就是不要把N当作变量,而是字符串。

此外还有用法:##变量拼接 #@变量转字符

简单的说就是用一个短的名字来代表一个长的字符串.

例如:#define PI 3.121459

程序中计算某面积时:2*3.121459*R,写为这样,是不是很麻烦呢,

可以定义个宏#define PI 3.121459

用2*PI*R代替。方便,不易错!
第2个回答  2015-05-08
#define 代替了 typedef
第3个回答  2015-05-08
只能说是类似,但是不一样的
第4个回答  2023-05-04
用 const
相似回答