我们如何通过字符串类型名称在C ++中创建实例?

时间:2011-09-06 08:46:23

标签: c++ reflection

假设我们只有一个字符串

string typename = "int"

我们如何通过此类型名称获取实例。

3 个答案:

答案 0 :(得分:4)

在C ++中,不能只有string(或字符数组)的类型。类型必须在编译时声明

[P.S。 typename是C ++中的关键字,因此不能用作变量。]

答案 1 :(得分:2)

C ++不直接支持。您可以使用Abstract Factory Pattern(请参阅Wikipedia article)并将类的名称映射到工厂以创建它。

答案 2 :(得分:1)

您不能直接在C ++中执行此操作。

通常的方法是在一些工厂中注册所有可能的类型,这些类型将在堆上创建数据。