定义一个宏函数:
#include <iostream>
using namespace std;
#define Add(x, y) ((x) + (y))
int main()
{
int ret = Add(1, 2);
return 0;
}
优点:
1.没有类型的严格限制,如上宏函数可以传int,double等参数,增强代码的复用性。
2.针对频繁调用小函数,不再建立栈帧,提高了效率。
缺点:
1.不方便调试宏。(因为预编译阶段进行了替换)
2.导致代码可读性差,可维护性差,容易误用。
3.没有类型安全的检查 。
C++有哪些技术替代宏?
1. 常量定义 换用const enum
2. 短小函数定义 换用内联函数