繁体   English   中英

通过变量访问结构成员

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM