0

可能重复:
遍历结构变量。

所以我有一个头文件和一个代码文件。该类表示将从存储过程中查询的视图。对于每一列。鉴于类中有一个数据成员。目前在代码中我们有这样的东西:

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  ...
}
4

2 回答 2

0

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

于 2010-09-30T14:50:14.020 回答
0

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

在 C++ 中,您没有像在 Java 中那样的反射概念,您可以在其中内省类的变量和围绕它的代码来执行诸如序列化之类的事情,并提前了解类成员。

于 2010-09-30T14:50:57.547 回答