C++函数模板的显示实例化有什么好处?我知道 显示具体化就是使它特殊化,显示实例化就是手动实例化?

2025-05-14 00:39:30
推荐回答(1个)
回答1:

明确实例化点。例如


template 
void f(T& t) {
    g(t);
}
class A{};
void g(const A& a); // 函数1
template <>  void f(A& t); // 显式实例化

void g(A& a) { // 函数2
    f(a); // 调用函数1,因为显式实例化时函数2 还没有声明
          // 如果没有显式实例化则调用函数2,即无穷递归
}