「C/C++」宏函数

38 阅读1分钟

一、宏函数

  • 运行时首先进行的是替换,然后在执行代码
  • 由于以上特性,需要保证运算的完整性。(加上括号表示运算顺序)
  • 使用场景:频繁使用且短小的函数,可封装成宏函数
  • 优点:以空间换时间
 #define add_1(x,y) x+y  // 有bug
 ​
 #define add_2(x,y) ((x)+(y))        // 全部括上括号,则不会出现bug
 ​
 int a = 10,b = 20;
 ​
 cout << add_1(a,b)*20 << endl;  // 结果是410
 ​
 cout << add_2(a,b)*20 << endl;  // 结果是600