两阶段查找 – 需要解释

这是什么意思编译器使用两阶段查找来编译模板类?

模板被编译(至less)两次:

  1. 没有实例化,模板代码本身被检查语法。
    例如:任何语法错误错误,如; 等等

  2. 在实例化时(确切types已知),再次检查模板代码以确保所有调用对于该特定types都是有效的。
    例如:模板可能会调用可能不存在的函数。

这被称为两阶段查找。