正如我们在编译阶段所知,编译器将为模板实例化具体类型,例如:
template<class T> void test(T m )
{
cout << m << endl;
}
int main()
{
int kl = 0;
test<int>(kl);
}
在main
函数中,编译器将尝试使用int
条目。
我们也知道在编译阶段,我们通常有几个步骤:
词汇分析,语法分析,语法分析和中间语言(IR)。
所以我的问题是:在哪个步骤中完成实例化? IR之前或IR之后?