如何解决用字符串数组命名结构的成员
在我的项目中,我需要通过数组内部的字符串调用结构的成员/属性(不知道正确的术语)。
注释中的胖部分// ????是问题用户[i]。成员[j] 是胡说八道,我知道,但我只是无法弄清楚那里到底是什么。
谢谢您的帮助:D
sum(abs(T.MTM_DIFF_GBP)) over (partition by T.CP)
解决方法
创建字符串到成员指针的映射。
#include <map>
#include <string>
#include <iostream>
struct person { // Eigenschaften des Eintrags
std::string name; //nachname
std::string vorname; //vorname
std::string telefon; // telfonnummer
};
// map names of variables to person member pointers to strings
std::map<std::string,std::string person::*> somemap{
{ "name",&person::name },{ "vorname",&person::vorname },};
// then just get the member pointers and call it on a instance of a person:
int main() {
person myperson{"my name"};
std::string I_choose_you = "name";
std::string persons_name = myperson.*somemap.find(I_choose_you)->second;
std::cout << persons_name << "\n";
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。