尽量减少宏的使用,并不是说他不方便,只是他容易出现错误比如#define PLUS(a) ((a)+(a)) 然后调用的时候用PLUS(a++)没有命名空间,容易冲突(比如经常冲突MAX, MIN)在预处理期就被处理了,编译出错后难以修复。constexpr, typedef/using, inline, enum可以替代绝大部分宏。
#include<stdio.h> #define SQ(y) ((y)*(y)) int main() { int i = 1; while (i <= 5) { printf("%d\n", SQ(i)); i++; } return 0; }
我没明白什么第五写法
13,825
社区成员
102,679
社区内容
加载中
试试用AI创作助手写篇文章吧