use*_*623 4 c++ variadic variadic-templates c++11
请考虑以下伪代码:
template<class... T>
struct worker : unique<T...>::type...{};
struct x{};
struct y{};
struct z{};
Run Code Online (Sandbox Code Playgroud)
是否有可能编写模板unique这样就产生一个参数包组成中,只有独特类型的TS,以便worker<x,y,x,z>将直接导出x,y,z分别按照这个顺序,给出Ts为无final类?
AFAIK:不.
问题是这type是typedef指令的结果,并且typedef不能别名包.这实际上是一个麻烦,并且通常在包上的计算需要引入包装类型(例如template <typename...> struct pack {};)以便能够传递它们.