我想确认在现代C ++中是否有一种直观且易于访问结构体字段的方法。
我知道类似的问题已经有人提出并回答了,而且C ++反射是一个深入研究的主题。
我发现了一些库,例如:
但所有这些方法的共同点是它们仅允许您获取结构中字段的总数或针对结构的所有字段以
是的,显然我可以使用这些库提供的
正如Louis Go所指出的,拥有一个访问器会很棒:
for_each
方式执行某个操作。是的,显然我可以使用这些库提供的
for_each
功能来检查特定字段的“名称”。但我只是想检查是否有任何其他简单/知名的库已经做到了这一点。
我希望能够处理任意数量的嵌套结构体,这就是为什么我正在寻找一些现成的解决方案。正如Louis Go所指出的,拥有一个访问器会很棒:
auto field = namespace::getField<mystruct>("fieldname");
auto field = namespace::getField<mystruct>("fieldname");
? - undefinedstruct
可以拥有不同类型的字段,因此您需要获取一个union
、std::variant
或std::any
。您想要哪一个? - undefinedstd::variant
应该是可以的。 - undefined