1

如何从字符串中的类名转换为 C++ 中的指针?

伪代码:

int * ptr = something;
myStruct ptrstruct = (ClassFromString("myStruct") ptr); 
// The class/struct name is passed in as String

谢谢

4

2 回答 2

0

我不是 C++ 大师,但我有两个想法可能有助于头脑风暴:

  • 使用此处描述的注册表模式可能会有所帮助:从名称实例化类?
  • 其次,按照注册表模式的想法,您可以创建一个用于强制转换的函数,例如MyClass something = registry.cast("MyClass", ptr);
于 2013-09-22T23:24:45.187 回答
-1

我不确定,但这必须有效 如果发生这种情况,只有 Void 指针或 boost 可以提供帮助

thing * p = something; // pointer to object
void * pv = p;          // pointer to void
thing * p2 = static_cast<thing *>(pv); // pointer to the same object

也许同样的情况是从线程返回值时,在 c++ 中,整体反射是不可能的。它只是头脑风暴。

于 2013-09-22T23:20:04.687 回答