我相信,对于函数和宏函数这两个名词,大家都不陌生,对他们的了解应该也不少。
今天我就带大家区别一下这俩者。首先,先描述一下它们的定义:
函数:是一段具有某项功能的代码集合,会被翻译成二进制指令存储代码段,函数名就是它的首地址,有独立的栈内存和命名空间。
宏函数:带参数的宏替换,只是代码替换,只是使用时像函数而已,不是真正的函数!
从定义上也可看出,宏函数并不是真正的函数,所以它们的区别也是很多
函数: 函数具有返回值,需要检查类型 较为安全 内存需要申请与释放
宏函数: 没有返回值,只是运算结果 不需要检查类型,通用 较危险 不需要内存申请和释放,只是替换 速度快 代码冗余
综上所述,大家是不是觉得宏函数一文不值,其实并不是
对于 调用频繁、内容简单的功能适合写成宏函数,更方便大家使用
我罗列的大概就这些,欢迎大家补充!