如何在c++中通过字符串类型名创建实例?

How can we create an instance in C++ by a string type name?

本文关键字:类型 创建 实例 字符串 c++      更新时间:2023-10-16

假设我们只有一个字符串

string typename = "int"

在c++中,不能具有仅来自string(或字符数组)的类型。类型必须在编译时声明

(注:

typename是c++中的关键字,因此不能用作变量。

这在c++中不直接支持。您可以使用Abstract Factory Pattern(参见Wikipedia文章)并将类的名称映射到创建它的工厂。

在c++中不能直接这样做。

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