假设我们只有一个字符串
string typename = "int"
在c++中,不能具有仅来自string
(或字符数组)的类型。类型必须在编译时声明。
typename
是c++中的关键字,因此不能用作变量。这在c++中不直接支持。您可以使用Abstract Factory Pattern
(参见Wikipedia文章)并将类的名称映射到创建它的工厂。
在c++中不能直接这样做。
通常的方法是在一些工厂中注册所有可能的类型,这些工厂将在堆上创建数据。