0

本质上,由于必要,我正在模拟基本 C 中的面向对象编程。为了我自己的方便,我想使用宏或内联函数来减少我需要编写的代码量。对于我的 400 多个变量,每个变量都需要一个类似的结构

int x;
int get_x(){
    return x;
}
void set_x(int a){
    x = a;
}

我希望有一些聪明的方法可以把它写成一个宏 oneliner,这样我就可以输入类型foo(x),它会用所有代码替换它。我认为困难在于将变量x 用作字符串,以便可以在函数标题中使用。

有没有以前遇到过这种事情的C大师?

4

1 回答 1

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);

没有经过编译测试,但在我的脑海中。

于 2013-06-19T00:12:28.287 回答