基本上,由于必要,我正在基本C中模拟面向对象的编程。为了方便起见,我想使用宏或内联函数来减少我需要编写的代码量。对于我的400多个变量,每个变量都需要像
这样的结构int x;
int get_x(){
return x;
}
void set_x(int a){
x = a;
}
我希望有一些聪明的方法可以将其写为宏oneliner,这样我就可以提供类型foo(x)
,它将用所有代码替换它。我认为,困难在于使用变量x
作为字符串,以便它可以在函数标题中使用。
那里有些C大师以前遇到过这类事吗?
答案 0 :(得分:1)
#define MAKE_OOP_VAR(var_type, var_name) \
var_type var_name; \
var_type get_##var_name() { return var_name; } \
void set_##var_name(var_type tmp) { var_name = tmp; } \
MAKE_OOP_VAR(int, x);
没有经过测试但是不受欢迎。