编译器使用两阶段查找来编译模板类是什么意思?
模板被编译(至少)两次:
如果没有实例化,则会检查模板代码本身的语法。例如:任何语法错误,例如; etc.
;
在实例化时(当确切类型已知时),将再次检查模板代码以确保所有调用对于该特定类型都有效。例如:模板可能会调用该特定类型可能不存在的函数。
这称为两阶段查找。