0

基本的に、必要に応じて、基本的な C でオブジェクト指向プログラミングをシミュレートしています。便宜上、マクロまたはインライン関数を使用して、記述する必要があるコードの量を減らしたいと考えています。私の400以上の変数の場合、それぞれに次のような構造が必要です

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

これをマクロワンライナーとして書く賢い方法があることを望んでいたので、タイプをフィード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 に答える