字符串的动态结构名称

时间:2014-09-03 11:10:53

标签: c++ string dynamic types struct

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

struct employee{

atributes ....
} 

string name;
cin >>name;


employee "name"

and then use the named employee !

不起作用

employee &name = new employee();

不起作用

2 个答案:

答案 0 :(得分:5)

实际上,您不能将运行时字符串值用作变量名。您可以使用map按字符串或其他键类型索引对象:

#include <map>

std::map<std::string, employee> employees;

employees[name] = employee();

答案 1 :(得分:4)

这在C ++中是不可能的。查看associative containers的概念来存储对类/结构实例的命名引用,例如std::map<std::string, employee>。此creates a 'map'类将基于字符串的键映射到类型employee的值。

More practical examples here