是否有另一种方法可以在不使用宏定义的情况下进行此操作

Is there another way to do this without using macro define?

本文关键字:情况下 宏定义 操作 方法 另一种 是否      更新时间:2023-10-16

我已经写下了这样的函数

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)

也许更好,但是有很多参数

我想知道一种更好的方法,谢谢

使用函数最适合模块化代码,编译器准备好与之打交道,这与参数的数量无关。宏应主要用于配置编译变体。

请注意,您始终可以将参数分组为结构。

相关文章: