字符串中的动态结构名称

Dynamic struct names from string

本文关键字:结构 动态 字符串      更新时间:2023-10-16

我有一个字符串,希望将其动态用作结构名称。

struct employee{
atributes ....
} 
string name;
cin >>name;

employee "name"
and then use the named employee !

不起作用

employee &name = new employee();

不工作

这在C++中是不可能的。查看关联容器的概念,以存储对类/结构实例的命名引用,例如std::map<std::string, employee>。这将创建一个"map"类,将基于字符串的键映射到类型为employee的值。

这里有更实际的例子。

实际上,不能将运行时字符串值用作变量名。您可以使用映射通过字符串或其他密钥类型对对象进行索引:

#include <map>
std::map<std::string, employee> employees;
employees[name] = employee();