我写了一个像这样的函数
int funA(){
//this define is to do something with a,b....z
#define _MyMacro_ do{\
a....\
b,a...\
z....\
...\
}while(0);
int a;
char b;
....
float z;
....
if(condition){
_MyMacro_;
}
else if(condition2){
a++;//just change value
...//do some change to a,b,z
if(...){
_MyMacro_;
}
else{...}
}
//do something with a,b,...z
_MyMacro_;
...
}
我认为这不是使用#define的好方法 如果我使用功能
void subfunc(int &a,char &b,.....,float &z)
也许它更好,但有很多参数
我想知道更好的方法,谢谢
答案 0 :(得分:1)
使用函数最适合模块化代码,编译器已准备好处理它们,它与参数的数量无关。宏应主要用于配置编译变体。
请注意,您始终可以使用结构分组参数。