我有一个类,预计将采用std::tuple某些类型(允许任意计数)作为模板参数。我想声明一个类型向量的元组。例如,我有
template <typename T>
class MyClass {/*...*/}
Run Code Online (Sandbox Code Playgroud)
我实例化它
MyClass<std::tuple<int, bool>> my_class;
Run Code Online (Sandbox Code Playgroud)
我的目标是创造一个这样的领域
std::tuple<std::vector<int>, std::vector<bool>> my_tuple;
Run Code Online (Sandbox Code Playgroud)
我知道如果我有一个类定义
template <typename... T>
class MyClass2 {/*...*/}
Run Code Online (Sandbox Code Playgroud)
我可以通过传递没有元组的数据类型来实例化它
MyClass<int, bool> my_class2;
Run Code Online (Sandbox Code Playgroud)
然后简单地创建字段
std::tuple<std::vector<int>, std::vector<bool>> my_tuple2;
Run Code Online (Sandbox Code Playgroud)
使用
std::tuple<std::vector<T>...> my_tuple2;
Run Code Online (Sandbox Code Playgroud)
因此,我想我应该以某种方式从元组中解压缩数据类型。是否可以?