spi*_*ker 7 c++ templates c++11
我想制作一个类模板,如下所示:
template < typename... Args > class VectorTuple;
Run Code Online (Sandbox Code Playgroud)
例如,
VectorTuple < long, double, string >
Run Code Online (Sandbox Code Playgroud)
将实例化为
Tuple < vector < long >, vector < double > , vector < string > >
Run Code Online (Sandbox Code Playgroud)
我对variadic-templates不熟悉.最糟糕的方法是从<tuple>复制代码并修改它.有没有一种简单的方法可以直接使用std :: tuple来定义我的VectorTuple.
如果你正在寻找typedef的variadic-templates类型,然后,
template<typename... Args>
using VectorTuple = std::tuple<std::vector<Args>...>;
Run Code Online (Sandbox Code Playgroud)
现在你可以像使用它一样
VectorTuple<long, double, std::string> obj;
Run Code Online (Sandbox Code Playgroud)