在C++14中(因此没有约束require
或折叠表达式,但有 SFINAE)是否有可能对类模板进行部分模板特化
template <typename ...T>
class Generic {
using Container = std::tuple<T...>;
};
对于每个模板参数都是相同类型的情况下?我需要这个,因为通用版本将使用std::tuple
容器,而专业化将使用std::array
(而不是 std::vector
,因为代码将在嵌入式环境中运行,所以我想避免堆分配)。
例如Generic<int,float,char>::Container
应该是std::tuple<int,float,char>
,而Generic<int,int,int>::Container
应该是std::array<int,3>
。