Class 循环类成员并生成代码的宏

Class 循环类成员并生成代码的宏,class,visual-c++,Class,Visual C++,h 我想做的是 class CCvars { public: bool gui; int size; float precision; } extern CCvars g_Cvars; 现在在我的主要功能中,我只做 #define CVAR_WRITE(cv) \ std::string str(#cv); \ ... #define SAVE_CVARS(cvarObject) \ // Loop through every class me

h

我想做的是

class CCvars
{
public:
    bool gui;
    int size;
    float precision;
}
extern CCvars g_Cvars;
现在在我的主要功能中,我只做

#define CVAR_WRITE(cv) \
    std::string str(#cv); \
    ...

#define SAVE_CVARS(cvarObject) \
    // Loop through every class member in cvarObject and do \
    CVAR_WRITE(classMember);
这应该等于

void SaveCvars()
{
    CCvars g_Cvars;

    SAVE_CVARS(g_Cvars);
}

有没有办法不将每个类成员都放入向量数组中就可以实现这一点?

C++目前不支持反射。我喜欢这种任务的方法是在脚本语言中编写一个脚本,它选择对数据进行简单的描述,并生成必要的样板C++代码。
void SaveCvars()
{
    CCvars g_Cvars;

    // so it will generate this for me

    // for simplicity but you get the idea
    CVAR_WRITE(g_Cvars.gui);
    CVAR_WRITE(g_Cvars.size);
    CVAR_WRITE(g_Cvars.precision);
}