我有一个字符串,并希望动态地将其用作结构名称。
struct employee{
atributes ....
}
string name;
cin >>name;
employee "name"
and then use the named employee !
不起作用
employee &name = new employee();
不起作用
答案 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
的值。