【发布时间】:2018-12-17 11:22:34
【问题描述】:
假设,我有一个结构
struct A
{
std::string name;
};
并想编写从对象中读取字段“名称”并返回它们的函数
作为std::vector<std::string>。
是否可以通过可变参数模板(或任何非迭代方法)来做到这一点。
我的目标是这样的:
template<typename... Ts>
std::vector<std::string> function(Ts... ts)
{
...
}
在程序中:
A a1, a2, a3, a4;
function(a1, a2, a3, a4);
输出:{a1.name, a2.name, a3.name, a4.name}
【问题讨论】:
标签: c++ templates c++14 variadic-templates