【发布时间】:2021-03-13 18:13:03
【问题描述】:
在现代 C++ 中有没有办法将每个可变参数模板参数放入 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;
}
不必使用元组,只要我得到一个类,其中每个可变参数模板参数的最终结果都存储在像std::vector 这样的容器中。
【问题讨论】:
-
你的意思是
private: std::tuple<std::vector<T>...> myTuple;吗? -
@max66 嗯,我会试试...
-
@max66 看起来可行。我正在尝试为您投票/选择您以获得最佳答案,对不起,我是 Stackoverflow 的新手
-
好吧,max66 还没有发布答案,所以你还不能投票/接受它:) 如果在一段合理的时间之后没有人发布答案,你可以继续自己回答问题,但请务必将帮助您解决问题的评论归功于用户。
-
@cigien 好的,谢谢你的帮助:)
标签: c++ tuples c++17 variadic-templates