我正在C++中实现反射机制。 我的代码中的所有对象都是Object(我自己的泛型类型)的一个子类,它包含一个类型为Class的静态成员数据。如何传递指向构造函数的函数指针?
class Class{
public:
Class(const std::string &n, Object *(*c)());
protected:
std::string name; // Name for subclass
Object *(*create)(); // Pointer to creation function for subclass
};
对于对象与类的静态成员数据任何子类,我希望能够初始化“创造”的指针该子类的构造函数。
虽然这是事实,经过6年的 - 你应该给很多人想到你是否真的想实现自己的反射机制。首先考虑使用模板,type_traits和SFINAE原则来解决编译时“反射”问题;然后尝试一个现有的C++反射库;只有到那时我才会考虑亲自去做。 – einpoklum 2015-12-15 21:41:19