【发布时间】:2022-01-03 14:54:27
【问题描述】:
总之,我想要一个模板类,它可以有一个类成员是 std::tuple 或整数类型。
我想做的精华贴在下面。
#include <tuple>
#include <vector>
#include <string>
template<typename T>
class DATA
{
public:
T value;
};
template<typename... T>
class DATA
{
public:
std::tuple<T...> value;
};
int main(int argc, char *argv[])
{
DATA<int> d1;
d1.value = 10;
DATA<int, std::string, std::vector<int>> d2;
std::get<0>( d2.value ) = 100;
std::get<1>( d2.value ) = "Hello World";
std::get<2>( d2.value ).push_back(1);
std::get<2>( d2.value ).push_back(2);
std::get<2>( d2.value ).push_back(3);
return 0;
}
【问题讨论】:
-
只要总是有元组(也有一个模板参数)并添加一个方法,当
sizeof...(T) == 1时返回对该唯一项的引用 -
当您指定您需要
or an integral type时,您是否需要我们提供代码来检查T上的此要求?