Ria*_*iaD 2 c++ templates c++11
我有一个模板类,唯一的模板参数是typename.
template<typename T>
class Reader{
...
}
Run Code Online (Sandbox Code Playgroud)
现在我想为每个整数类型专门化它,例如:
template<typename T - integral>
class Reader{
//another code
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
你可以只是一个额外的默认布尔参数:
template<typename T, bool IsIntegral = std::is_integral<T>::value>
class Reader{ // primary template, used for non-integrals
...
}
template<typename T>
class Reader<T, true> { // specialization for integral types
...
}
Run Code Online (Sandbox Code Playgroud)