C ++,unmanaged,class,members:如何(如果有的话)我可以列出类中的所有成员?

时间:2010-09-30 14:30:04

标签: c++ class unmanaged members

  

可能重复:
  Iterate through struct variables.

所以我有一个头文件和一个代码文件。该类表示将从存储过程中查询的视图。对于每个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  ...
}

2 个答案:

答案 0 :(得分:0)

C ++反思问题已多次提出。不幸的是,除非您自己管理元数据,否则它是不可能的。有关详细信息,请参阅this question

答案 1 :(得分:0)

如果你的意思是动态地声明变量名称,例如在PHP中(使用其他变量名称),则不能在C ++中这样做。

在C ++中,你没有像Java这样的反射概念,在那里你可以内省你的类的变量和代码来做序列化之类的事情,事先知道类成员。