从C++中的POD结构获取可用数据成员的列表

Ale*_*zzi 4 c++

这个问题听起来有点不同寻常.我们来看一个POD结构:

struct MyStruct
{
   int myInt;
   double myDouble;
   AnotherPOD* myPointer;
};
Run Code Online (Sandbox Code Playgroud)

编译器知道可用数据成员的列表.您是否知道在编译时(更好)或运行时获取数据成员名称列表(和类型)的方法?

我有大量的POD结构,我想自动创建operator <<.

我知道我可以为头文件创建一个解析器,创建一些文件并编译它们.但是,我确信编译器已经有了这些信息,我想利用它.

有任何想法吗?

谢谢

Mat*_* M. 5

BOOST_FUSION_ADAPT_STRUCT引入了编译时反射(非常棒).

你可以将它映射到运行时反射当然,它不会太容易,但它可以在这个方向,而它不会反过来:)