[英]Acessing struct members through a variable
我正在尝试访问具有不断变化的属性的不同类型的结构。 这是我正在尝试使用的一个结构:
struct person {
std::string name;
std::string address;
int age;
};
我有一个包含“名称”(结构的第一个属性)的变量。
string n = "name";
现在,如果我想访问该名称,则无法执行以下操作:
person.n = "Same";
是否有解决方法或其他方法可以访问结构成员? 我正在尝试使用不同类型的结构,并且我有一个配置文件,我在其中输入了成员的名称。 但是如果名称保存在变量中,我就会遇到无法访问结构成员的问题。
结构,也称为 class,是一种类型。 如果不创建类型的实例,则无法访问类型的非 static 成员。
为了简化类比,您不能分配int
类型:
int = 42; // wrong
相反,您必须创建该类型的实例。 您可以分配该实例:
int i{};
i = 42; // ok
同样,您必须创建 class 的实例才能访问该实例的非 static 成员:
person.name = "Same"; // wrong
person p {};
p.name = "Same"; // ok
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.