所以我有一个头文件和一个代码文件。该类表示将从存储过程中查询的视图。对于每个col。在视图中,类中有一个数据成员。 目前在代码中我们有类似的东西:
Load( Reader reader)
{
m_col1 = reader("m_col1");
m_col2 = reader("m_col2");
..
}
如何编写代码来迭代成员变量并给我代码如下:
Load( Reader reader)
{
For (each str in ArrayOfMemberVariables)
variableLValue(str) = reader(str); // str = m_col1, m_col2 ...
}
答案 0 :(得分:0)
C ++反思问题已多次提出。不幸的是,除非您自己管理元数据,否则它是不可能的。有关详细信息,请参阅this question。
答案 1 :(得分:0)
如果你的意思是动态地声明变量名称,例如在PHP中(使用其他变量名称),则不能在C ++中这样做。
在C ++中,你没有像Java这样的反射概念,在那里你可以内省你的类的变量和代码来做序列化之类的事情,事先知道类成员。