可以使用宏为目标类及其变量生成方法吗?特别是一个类方法,它只获取目标类的成员偏移量。就像在下面的代码中一样,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 是宏的目标类。举个例子。一些代码或替代建议会有所帮助。此元/偏移信息将用于反射目的。