繁体   English   中英

将每个可变参数模板参数放入容器中

[英]Put each variadic template argument into container

现代 C++ 有没有办法将每个可变参数模板 arguments 放入std::tuple内的容器中? 例如:

template<class ... T>
class MyClass {
private:
std::tuple<T...> myTuple;
};

int main() {
MyClass<int, char, float> test; //inner class stores an std::tuple<int, char, float>
//is there a way to make the inner class store std::tuple<std::vector<int>, std::vector<char>, std::vector<float>>
return 0;
}

不必使用元组,只要我得到一个 class ,每个可变参数模板参数的最终结果都存储在像std::vector这样的容器中。

有没有办法让内部 class 存储std::tuple<std::vector<int>, std::vector<char>, std::vector<float>

您只需在std::tuple<std::vector<...>>中解压缩T可变参数列表。

我是说

template<class ... T>
class MyClass {
   private:
      std::tuple<std::vector<T>...> myTuple;
}; // ...........^^^^^^^^^^^^^^

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM