微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决循环遍历类成员并生成代码的宏

.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 举报,一经查实,本站将立刻删除。