c++ 模板偏特化是指在使用模板时,对某些特定的模板参数进行特别定义,而对于其他的模板参数则使用默认的定义。这样做的目的是为了使模板更加灵活,能够应用于更多的场景。
举个例子,假设我们定义了一个模板函数 foo
,其中有两个模板参数 T1
和 T2
,我们希望在 T1
类型为 int
的时候,函数的行为与其他情况有所不同,那么就可以使用模板偏特化来实现:
template <typename T1, typename T2>
void foo(T1 a, T2 b) {
std::cout << "T1: " << typeid(T1).name() <<