gpt4 book ai didi

c++ - 使用变量访问结构成员

转载 作者:行者123 更新时间:2023-11-30 01:37:55 24 4
gpt4 key购买 nike

有结构

struct Person{
int age;
string name;
string sex;
};

struct Person p1={23,"alice","male"};

一般我们使用p1.age或者p1.name访问值但我想使用变量访问。

string name="p1";
string item="name";

现在我可以使用变量获取 p1.name 的值:name 和 item

如果没有,有什么方法可以使用指针。

最佳答案

除非您在程序中提供运行时 std::string 到对象映射,否则无法做到这一点。 C++ 没有任何允许您执行此操作的内置运行时反射。

另一种方法是使用指针 来引用现有的变量和数据成员。例如

auto object = &p1;
auto member = &Person::name;

std::cout << object->*member << '\n'; // prints "alice"

live example on wandbox

关于c++ - 使用变量访问结构成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48824210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com