是否可以将C ++结构的字段转换为pack参数?

时间:2018-06-19 04:19:56

标签: c++ templates struct typelist

我有一个如下结构:

struct A1
{
   int a;
   int b;

   char c[10];
};

struct A2
{
   double t;    
   char* p;
};

现在我想访问所有文件,我的领导建议我使用pack参数来处理这个问题,就像这样:

template<typename... T>
void handler(T...args)
{
   // handle all struct fileds, such a, b, c here
}

//怎么称呼它?

A1 a1;    
handle(a1);

A2 a2;    
handle(a2);

可悲的是,我不知道如何逐个访问所有字段?

  

请注意,模板功能应该是通用的,我们没有   知道如何定义结构?

有可能吗?如果有,你能告诉我你的想法吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

我相信答案是没有

已经编写了一个November提出了一种方法(通过结构化绑定),但至少要Git log format link才会考虑它。