循环遍历类成员并生成代码的宏

问题描述

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

这应该等于

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

有没有办法不用把每个类成员都放入向量数组中?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)