0

可以使用宏为目标类及其变量生成方法吗?特别是一个类方法,它只获取目标类的成员偏移量。就像在下面的代码中一样,GetOffsets(){}为我的使用场景命名的方法,无论是返回列表的生成方法还是设置为名为 offsets 的静态列表变量的 void 返回方法都可以。

MetaClass(Actor,{
public:
    float integer = 70.0f;
    float floater = 2;
    vec3 vector = vec3(5,3,3);
    std::vector<float> lister({56,3,4,5});
    std::vector<size_t> GetOffset(){
        std::vector<size_t> offsets;
        offsets.Add(offsetof(Actor,integer));
        offsets.Add(offsetof(Actor,floater));
        offsets.Add(offsetof(Actor,vector));
        offsets.Add(offsetof(Actor,lister));
        return offsets;
    }
});

上面,MetaClass 是宏,Actor 是宏的目标类。举个例子。一些代码或替代建议会有所帮助。此元/偏移信息将用于反射目的。

4

0 回答 0