我正在写一个模板类,我想用一个tuple
来保存一些数据,tuple
的类型与模板参数的关系是这样的:
template<typename ...Types>
class MyClass{
public:
std::tuple<int, (repeat "int" sizeof...(Types) times)> MyData;
}
例如,MyClass<int, float, std::string, double>
会导致std::tuple<int, int, int, int>
类型的MyData
变量。我已经研究了fold表达式,但我不确定它们是否能做我想要的事情。在C++中有办法做到这一点吗?如果有,怎么做?
1条答案
按热度按时间cclgggtu1#
正如在注解中所说的,使用std::array,但是,为了完整性:
您可以使用
std::conditional
。您也可以自己卷: